簡體   English   中英

Java中的點運算符和static關鍵字

[英]dot operator and static keyword in Java

各位程序員大家好。 我有一個關於在Java中使用此示例的靜態和點運算符的問題。

因此,我的清單類中有一個ArrayList的類變量聲明。

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

如果我選擇在方法中使用ArrayList的add方法,則應該這樣編寫方法調用: Inventory.list.add(Object o)還是應該使用list.add(Object o) 它們是同一意思嗎? 如果不是,我應該使用哪個方法調用?

上課都一樣

采用

Inventory.list.add(Object o )

它會不斷告訴您它在代碼中是一個靜態字段

您無法在其他程序包中訪問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());

在類外部,您必須通過類名稱訪問它(但取決於訪問修飾符,即不能在類外部訪問private ),在類內部您可以使用它們中的任何一個。

絕對應該使用Inventory.list.add(Object o )因為靜態字段處於類級別,即在該類的對象之間共享。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM