什么是设计模式:
2.单例模式(例如电脑任务管理器)
package com.itheima.d4_static_singleinstance;
import org.w3c.dom.ls.LSOutput;
public class Test1 {
public static void main(String[] args) {
// 目标:理解饿汉单例的设计模式
// SingleInstance s = new SingleInstance();将构造器私有化了,无法创建对象
// 调用静态成员:类名.成员名 // 然后用SingleInstance类型的变量接收,因为接收的是对象
SingleInstance s1 = SingleInstance.instance;// 接收的是对象
// 无论提取多少次对象,都只会在内存中加载一次(静态成员变量只有一份)
SingleInstance s2 = SingleInstance.instance;
// 这两个对象是同一个,地址一样,
System.out.println(s1 == s2); // true
}
}
package com.itheima.d4_static_singleinstance;
/**
* 使用饿汉单例实现单例类
*/
public class SingleInstance {
/**
* 2.饿汉单例是在获取对象前,对象已经提前准备好了一个
* 这个对象只能是一个,所以定义静态成员记住
*/
// 这个静态成员随着类加载而创建了对象,只加载了一次
public static SingleInstance instance = new SingleInstance();
// public static int age = 18; 相当于这个对象类型是SingleInstance
/**
* 1.必须把构造器私有化(防止别人用这个类创建对象)
* 将构造器私有化相当于把这个类藏起来了
*/
private SingleInstance(){
}
}