0

各位程序员好。我对在 Java 中使用此示例的静态和点运算符有疑问。

所以我在我的 Inventory 类中有一个 ArrayList 的类变量声明。

static List<Multimedia> list = new ArrayList<Multimedia>();

如果我选择在方法中使用ArrayList的add方法,我应该这样写方法调用:Inventory.list.add(Object o)还是应该使用list.add(Object o). 他们的意思是一样的吗?如果不是,我应该使用哪个方法调用?

4

4 回答 4

5

从课堂上两者都是一样的,

采用

Inventory.list.add(Object o )

它会不断告诉你它是代码中的静态字段

于 2012-08-09T06:46:34.670 回答
4

您无法访问list其他包中的,因此最好创建私有列表并通过公共包装方法公开它。

private static List<Multimedia> list = new ArrayList<Multimedia>();

public static void addMultimedia(Multimedia media){
   list.add(media);
}
public static List<Multimedia> getList(){
  return list;
}

添加Multimedia对象:

Inventory.addMultimedia(new Multimedia());
//or
Inventory.getList().add(new Multimedia());
于 2012-08-09T06:51:20.887 回答
1

在类外,您必须通过类名访问它(但这取决于访问修饰符,即私有不能在类外访问),在类内您可以使用它们中的任何一个。

于 2012-08-09T06:47:48.660 回答
1

您绝对应该使用Inventory.list.add(Object o )静态字段,因为静态字段在类级别,即在该类的对象之间共享。

于 2012-08-09T06:49:53.413 回答