无法使用方法更改OOP类的成员

时间:2016-09-12 14:48:18

标签: java function oop arraylist

我现在有点困惑,我已经和OOP一起工作了很长时间,因为它很容易创建一个数据库或者你在类中创建一个变量,并在类中创建一些方法来创建一些功能

现在我有一个名为DataRegister的类,它有一个公共成员,它是一个ArrayList我还有4个方法,分别是“Add”,“Remove”,“ClearData”,“GetData”。

public ArrayList<Data> data;

public DataRegister(){
    if(data == null){
        data = new ArrayList<Data>();
    }
}

public void addData(Data c){
    data.add(c);
    System.out.println("Added "+c.getName());
    System.out.println(data.size());
}

public void clearRegister(){
    data.clear();
    System.out.println("Cleared Data Register");
}

public void removeData(Data c){
    data.remove(c);
}

public ArrayList<Data> getData(){
    System.out.println(data.size());
    return data;
}

当我创建一个DataRegister类型的新对象时,它完全是这样的, 但是当我向它添加一个新的Data对象时,它表示我添加的Data对象的名称(Data中的方法访问的Data类中的成员)以及数字1,因为现在ArrayList中有1个对象但是当我运行时{ {1}}然后它显示getData()中的0,这意味着sysout是空的,但我只是添加了一个Data对象,当我尝试添加第二个时它也说ArrayList长度为1,所以他忘记了前一个。

我正在添加以下示例:

ArrayList

这不是真正的课程,只是举个例子。

1 个答案:

答案 0 :(得分:0)

每次调用方法时,可能都是实例化类,例如:

function toServer2(url, type, data, success) {
var XHR = ("onload" in new XMLHttpRequest()) ? XMLHttpRequest : XDomainRequest;

var xhr = new XHR();
xhr.open(type, url, true);     
xhr.send();}

请提供您添加和检索数据的方式