//单例模式
class Test{
public static void main(String[] args){
T test1 = T.getInstance();
T test2 = T.getInstance();
test1.num = 1;
test2.num = 2;
System.out.println(test1.num);
System.out.print(test2.num);
}
}
class T{
// 饿汉
private static T obj = new T();
private T(){}
public static T getInstance(){
return obj;
}
public int num = 1;
}
//懒汉
class T2{
private static T2 obj = null;
private T2(){}
public static T2 getInstance(){
if(obj == null){
obj = new T2();
}
return obj;
}
}
结果 如下
C:\Users\xx>javac test.java
C:\Users\xx>java Test
2
2
C:\Users\xx>