a- class Student{
- private String name;
- private int age;
- Student(){}
- }
- class Singleton {
- /**
- * 单例设计模式:保证内存中只有一个对象
- *
- * 如何保证内存中只有一个对象?
- * 1 把构造函数私有化
- * 2 在成员位置自己创建一个对象
- * 3 通过一个公共方法提供对对象的访问
- */
- private Singleton(){}//私有化构造函数,使之无法从外部创建对象
- private static Student s = new Student();//创建一个对象,静态保证内存中只有一个
- //私有化防止被外部更改
- //提供访问方法
- public static Student getStudent(){ //因为构造函数私有化,所以方法只能定义成静态,通过函数名调用
- return s;
- }
- }
- class Test{
- public static void main(String[] args) {
- Student s1 = Singleton.getStudent();
- Student s2 = Singleton.getStudent();
- System.out.println(s1 == s2);//true
- }
- }
复制代码
|
|