package singleton pattern A; public class SingletonPatternA { @SuppressWarnings({ "static-access", "unused" }) public static void main(String args[]){ Emperor emperor1 = Emperor.getInstance(); emperor1.emperorInfo(); Emperor emperor2 = Emperor.getInstance(); emperor1.emperorInfo(); if(emperor1 == emperor2){ //Determine whether emperor1 and emperor2 are the same person System.out.println(emperor1+"=="+emperor2+" true."); } } } class Emperor { private static Emperor emperor = null; public Emperor(){} public static Emperor getInstance(){ if(emperor ==null){ emperor = new Emperor(); } return emperor; } public static void emperorInfo(){ System.out.println("I am the emperor XX..."); } } //************************************************************************** package singleton pattern A; public class SingletonPatternB { @SuppressWarnings("static-access") public static void main(String args[]){ new Emperor2().getInstance().emperorInfo(); } } class Emperor2 { private static Emperor2 emperor2=null; Emperor2(){} @SuppressWarnings("static-access") public Emperor2 getInstance(){ if(this.emperor2 == null) //only this is different from the first one this.emperor2 = new Emperor2(); return this.emperor2; } public static void emperorInfo(){ System.out.println("I am the emperor XX..."); } } //*********************************************************************** package singleton pattern A; public class SingletonPatternC { @SuppressWarnings("static-access") public static void main(String args[]){ Emperor3 emperor3 = Emperor3.getInstance(); emperor3.emperorInfo(); Emperor3 emperor33 = Emperor3.getInstance(); emperor33.emperorInfo(); if(emperor3 == emperor33){ System.out.print("They are the same object!"); } } } class Emperor3 { private static final Emperor3 emperor3 = new Emperor3(); //变化 private Emperor3(){} public synchronized static Emperor3 getInstance(){ //Prevent concurrent multithreading problems return emperor3; } public static void emperorInfo(){ System.out.println("I am the emperor XX..."); } } //Of course, we recommend the third one! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
Singleton pattern (three progressively progressive)
Guess you like
Origin http://10.200.1.11:23101/article/api/json?id=326986800&siteId=291194637
Recommended
Ranking