单例模式

xiaoxiao2021-02-28  97

如何保证类在内存中只有一个对象? a.把构造方法私有 //构造方法的目的是不让外界创建对象 b.在成员位置自己创建一个对象 //静态方法只能访问静态成员变量 c.通过一个公共的方法提供访问 //第一种饿汉式 public class Student { //构造私有 private Student(){} //自己造一个 //静态方法只能访问静态成员变量,加静态 //为了不让外界直接访问修改这个值,加private private static Student s = new Student(); //提供公共的访问方式 //为了保证外界能够直接使用该方法,加静态 public static Student getStudent() { return s; } } public class StudentDemo { public static void main(String[] args){ Student s1 = Student.getStudent(); Student s2 = Student.getStudent(); System.out.println(s1==s2); System.out.println(s1); //输出地址值 System.out.println(s2); } } /* 就是在内部自己先new 一个对象,不论有没有对象,程序运行时,首先先new 一个对象,相比较懒汉式而言,懒汉式实在类中进行判断过后,结果不为null时,才进行创建对象,而饿汉式,不进行任何判断就首先new 一个student对象,然后在继续在执行,饿汉式有线程安全问题 */
转载请注明原文地址: https://www.6miu.com/read-41135.html

最新回复(0)