Class Customer
{
String name ="";
int age = 0;
}
Class Customerlist
{
ArrayList<Customer> customerlist;
}
我有3帧说(主框架,第1帧和第2帧
在第1帧中,我从Customer和Customerlist
类创建对象Customer myCustomerObj = new Customer();
Customerlist myCustomerlistObj = new CustomerList;
myCustomerlistObj.customerlist.add(myCustomerObj);
在第2帧中,我再次从Customer和Customerlist
类创建对象Customer myCustomerObj = new Customer();
Customerlist myCustomerlistObj = new CustomerList;
myCustomerlistObj.customerlist.add(myCustomerObj);
现在我想检查主框架中的arraylist的大小
Customerlist myCustomerlistObj = new CustomerList;
with -> myCustomerlistObj.customerlist.size();
结果大小为0,但是当我检查第1帧和第2帧的大小时,我得到大小1
使用按钮调用此帧1和帧2。 对不起我的坏英语
和
这样的静态属性的目的是什么static private Custumer cs;
答案 0 :(得分:0)
每次从CustomerList类创建新实例时,都会在内存上创建一个新的ArrayList对象。
Customerlist myCustomerlistObj = new CustomerList;
每次执行此代码行时,它都会创建一个新的ArrayList实例。因此,如果您想从所有帧中访问单个ArrayList,您应该像这样重新创建CustomerList类。
public class CustomerList{
public static ArrayList<Customer> customers = new ArrayList<>();
}
之后,您可以像这样访问列表。
CustomerList.customers.add(new Customer());
你也问过什么是静态关键字。 静态属性绑定到类。不是它的实例。您从该类创建了多少个实例,静态属性将在内存中创建一个副本。
答案 1 :(得分:0)
您的ArrayList应为public static
。如果你这样做,你应该能够从另一个类访问你的ArrayList
:
Customerlist.customerlist.add(new Customer());
int size = Customerlist.customerlist.size();