class Time{
//单例特点:(Runtime就是一个单例类 )
//(1)类的构造方法是私有的,从而避免了外部利用构造方法创建多个实例
//(2)一个类只有一个实例,且自行实例化,并向整个系统提供这个实例。
public static Time t = new Time(); //因为是static修饰,所以所有类共用这一个Time对象
private Time(){}
public static Time getInstance(){
return t;
}
}
class Time1{
public static Time1 t = new Time1();
private Time1(){}
public static Time1 getInstance(){
return new Time1(); //注意这里是返回的new Time1();
//也就是说是每调用这个方法就会创建一个新的Time1对象。所以返回值必须为static值 t
}
}
public class Singleton {
public static void main(String[] args){
//Time为单例模式 ,所以 两个方法打印的地址值是一样的。
System.out.println(Time.getInstance());
System.out.println(Time.t);
System.out.println("----------------------------------");
Time1 t1 = Time1.getInstance();
System.out.println(t1);
Time1 t2 = Time1.getInstance();
System.out.println(t2);
}
}