public class xun {
public static void main(String[] args) {
//单例设计模式 1、构造函数私有化 2、声明一个本类对象 3、给外部提供一个静态方法获取实例
//使用场景:工具类(只有功能方法 无属性 频繁调用 )
//饿汉式 类被加载后 对象被创建-》程序结束后释放对象
singleton1 s=singleton1.getInstance();
s.print();
//懒汉式 第一次调用getInstance方法时 对象被创建->程序结束后释放对象
singleton2 s2=singleton2.getInstance();
s2.print();
}
}
class singleton1{
private singleton1 (){
}
private static singleton1 s=new singleton1();
public static singleton1 getInstance() {
return s;
}
public void print() {
System.out.println("test");
}
}
class singleton2{
private singleton2 (){
}
private static singleton2 s;
public static singleton2 getInstance() {
if(s==null) {
s=new singleton2();
}
return s;
}
public void print() {
System.out.println("test2");
}
}