编辑:我想要单例类和只有静态成员的类之间的区别。我不想将单例类与静态内部类进行比较,因为java不允许静态类而不是静态内部类。
Singleton类允许用户只为该类提供一个对象。通过这种方式,我们可以限制用户只有一个属性实例。
这可以通过使用只包含静态成员和静态方法的类来实现(不是静态内部类)
那么,以下两个类之间有什么区别
Singleton类:
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...
}
}