変数の宣言は、変数の宣言とはprivate static varName;
異なりますprivate varName;
か?
はい、どちらも異なります。そして、最初のものはそのclass variable
ための単一の値を保持するためにclass
呼び出され、もう1つはinstance variable
異なるために異なる値を保持できるために呼び出されますinstances(Objects)
。最初のインスタンスはjvmで1回だけ作成され、他のインスタンスはインスタンスごとに1回作成されます。つまり、10個のインスタンスがある場合private varName;
、jvmには10個の異なるインスタンスがあります。
変数を宣言しstatic
て他の特別なプロパティを与えますか?
はい、静的変数は通常のインスタンス変数とは異なるいくつかのプロパティを取得します。私はすでにいくつか言及しましたが、ここでいくつか見てみましょう:(class variables
静的として宣言されているインスタンス変数)はのようなクラス名を使用して直接アクセスできますClassName.varName
。そして、そのクラスのオブジェクトは、インスタンス変数がそれぞれのオブジェクトによってのみアクセスされるのとは異なり、その値にアクセスして変更できます。クラス変数は静的メソッドで使用できます。
private static variable
Javaでのの使用は何ですか?
論理的にprivate static variable
は、違いはありませんpublic static variable
、最初のものなく、より細かく制御できます。IMO、あなたは文字通り置き換えることができるpublic static variable
ことでprivate static variable
の助けを借りて、public static
getterメソッドとsetterメソッド。
の広く使用されている領域の1つprivate static variable
はSingleton
、全世界でそのクラスのインスタンスが1つだけ存在する単純なパターンの実装です。ここで、static
識別子は、その単一のインスタンスに外部からアクセスできるようにするために重要な役割を果たします(もちろん、パブリックな静的ゲッターメソッドも主な役割を果たします)。
public class Singleton {
private static Singleton singletonInstance = new Singleton();
private Singleton(){}
public static Singleton getInstance(){
return Singleton.singletonInstance;
}
}