保证一个类仅有一个实例,并提供一个访问它的全局访问点。
class Singleton {
//无参的构造函数是私有的
private Singleton() {}
private int number = 2022;
public void setNumber(int number) {
this.number = number;
}
public int getNumber() {
return number;
}
private static Singleton instance = new Singleton();
//保证一个类仅有一个实例,并提供一个访问它的全局访问点。(公有的静态的方法)
public static Singleton getInstance() {
return instance;
}
}
public class SingletonMain {
public static void main(String[] args) {
// 无法通过类new对象
// Singleton singleton1 = new Singleton();
Singleton singleton1 = Singleton.getInstance();
Singleton singleton2 = Singleton.getInstance();
Singleton singleton3 = Singleton.getInstance();
System.out.println(singleton1.getNumber() + " " + singleton2.getNumber() + " " + singleton3.getNumber());
singleton1.setNumber(100);
System.out.println(singleton1.getNumber() + " " + singleton2.getNumber() + " " + singleton3.getNumber());
}
}
其他设计模式详见本专栏其他博文~
特别感谢zst_2001在备考软考期间提供的帮助,贴上博主B站
zst_2001的个人空间