/**
* @Description 单例模式
* @Author rll
* @Date 2021-01-07 14:14
*/
public class Singleton {
/**
* 特点1:私有化构造器
*/
private Singleton(){}
private static Singleton singleton = new Singleton();
/**
* 特点2:唯一暴露的public方法获取类,并且static修饰
* 有static修饰,方法才能直接Singleton.getInstance调用
* 又因为这个方法是static的,所以属性singleton也要被static修饰
* @return
*/
public static Singleton getInstance(){
return singleton;
}
public static void main(String[] args) {
Singleton singleton = Singleton.getInstance();
}
}
特点1:私有化(private)构造器,私有化的类声明。
特点2:唯一的公有(public)方法获取类,并且静态(static)修饰。
有static修饰,方法才能直接Singleton.getInstance()调用。
又因为这个方法是static的,所以类声明也要被static修饰。
例子中的单例模式是最简单的,更好用的单例模式请参考java源码或者其他框架源码学习