172.16.0.151_20200903-陈政平

问题

public  class Earth {
private static final Earth EARTH = new Earth();

private Earth() {
    super();
}

// 是线程安全(thread-safe)的
public static Earth getInstance() {
    return EARTH ;
}
}
public class EarthTest {
public static void main(String[] args) {

     //Earth e = new Earth(); // The constructor Earth() is not visible

    Earth e = Earth.getInstance();
    Earth a = Earth.getInstance();
    Earth r = Earth.getInstance();

    System.out.println(e == a);
    System.out.println(e == r);

}
}

静态工厂模式是在每一次执行这个方法的时候都创建了新的对象,饿汉模式里的静态工厂方法是定义了一个常量,每次执行这个方法的时候,创建的对象都指向相同的地址,所以他们比较的地址都相同