編集:シングルトン クラスと静的メンバーのみを持つクラスの違いが必要です。java は静的内部クラスではなく静的クラスを許可していないため、シングルトン クラスと静的内部クラスを比較したくありません。
Singleton クラスでは、ユーザーはそのクラスのオブジェクトを 1 つだけ持つことができます。これにより、ユーザーが属性のインスタンスを 1 つだけ持つように制限できます。
これは、静的メンバーと静的メソッドのみを持つクラスを使用することで実現できます (静的内部クラスではありません) 。
それで、次の2つのクラスの違いは何ですか
シングルトン クラス:
public class Test {
public static void main(String args[]) {
Singleton s = Singleton.getInstance();
s.foo();
}
}
class Singleton {
private static Singleton obj = new Singleton();
private Singleton() {
}
public static Singleton getInstance() {
return obj;
}
public void foo() {
// something...
}
}
静的メソッドとメンバーのみを持つクラス:
public class Test {
public static void main(String args[]) {
NotSingleton.foo();
}
}
class NotSingleton {
public static void foo() {
// something...
}
}