変数の宣言は、変数の宣言とは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 variableJavaでのの使用は何ですか?
論理的にprivate static variableは、違いはありませんpublic static variable、最初のものなく、より細かく制御できます。IMO、あなたは文字通り置き換えることができるpublic static variableことでprivate static variableの助けを借りて、public staticgetterメソッドと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;
}
}