class Person{
private static Person person;
private Person() {
}//饿汉式
static {
Person person =new Person();
}
}
这个静态代码块称为饿汉式:因为static静态代码块只执行一次,每次进行类加载时都会运行且一次,所以只会创建一个对象地址
//懒汗式
public static Person getPerson() {
if(person==null){
Person person =new Person();
}
return person;
}
这个静态方法为懒汗式:如果你想创建对象,就调用该静态方法,判断引用是否为空,如果为空创建对象,如果不为空则不会创建对象,也可以达到只创建一个对象地址的目的