package com.atlucas.creation.singleton;
/** * @author lucas * @create 2021-11-19 15:01 * @description 单例模式的实体类 */public class Person {
private String name;
private Integer age; /** * 单例模式;要求此系统中有且只有一个实例对象; * * 1.确定是饿汉式还是懒汉式,然后创建一个静态的私有变量 * 2.构造器私有化 * 3.外部访问对象,要从我们自己构造好的私有对象返回 * */
/** * 1.确定是饿汉式还是懒汉式,然后创建一个静态的私有变量 * private static final Person Instanc=new Peson(); 饿汉式,不让变动 */ private static Person Instance; //懒汉式时间换空间
/** * 2.构造器私有化 */ private Person (){ System.out.println("需要创建一个对象person"); }
/**3.外部访问 * 公共的静态方法-->利用静态存储方法区, * 建立一个静态的空对象,如果需要就一直存在,直至程序完结 * @return */ public static Person getPerson(){ //多线程情况下不安全 if (Instance==null){ Person person=new Person(); Instance=person; } return Instance; }
public static void main(String[] args) { //静态的公共获取方法--对象都一样 Person person1 = Person.getPerson(); Person person2 = Person.getPerson();
System.out.println(person1==person2); }}
评论