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

Inventory.list.add(Object o )静的フィールドはクラスレベルにあるため、つまりそのクラスのオブジェクト間で共有されるため、間違いなく使用する必要があります。

于 2012-08-09T06:49:53.413 に答える
1

クラスの外部では、クラス名を介してアクセスする必要があります(ただし、アクセス修飾子によって異なります。つまり、クラスの外部ではプライベートにアクセスできません)。クラスの内部では、どちらかを使用できます。

于 2012-08-09T06:47:48.660 に答える