【立即加载】
核心:
私有化构造方法 ---> 封死其他类中创建该类的可能性;
开放获取类对象的方法,其获取的是属于类属性的类对象(保证了唯一)。
GiantDragon.java:
package com.java.charactor; public class GiantDragon { //将构造方法改造为私有化,使得该类无法在外部通过new实例化 private GiantDragon(){ } //准备一个类属性,指向一个实例化对象,因为是类属性,所以只存在一个 private static GiantDragon instance = new GiantDragon(); //提供给调用者获取该类对象的方法(只能获取唯一一个该类对象) public static GiantDragon getInstance(){ return instance; } }
TestGiantDragon.java:
package com.java.test; import com.java.charactor.GiantDragon; public class TestGiantDragon { public static void main(String[] args) { //通过类名来调用类方法 GiantDragon g = GiantDragon.getInstance(); GiantDragon g1 = GiantDragon.getInstance(); GiantDragon g2 = GiantDragon.getInstance(); //其实都是同一个对象 System.out.println(g==g1); System.out.println(g1==g2); System.out.println(g==g2); } }