单例

来源:互联网 发布:知乎诺贝尔不能说 编辑:程序博客网 时间:2024/04/24 01:14
class Singleton {                private static Singleton instance;               private static String str="单例模式原版" ;                      private Singleton(){}             public static Singleton getInstance(){                 if(instance==null){                     instance = new Singleton();                 }                 return instance;             }             public void say(){                 System.out.println(str);             }            public void updatesay(String i){                this.str=i;                                         }      }               public class danli{            public static void main(String[] args) {                Singleton s1 = Singleton.getInstance();                //再次getInstance()的时候,instance已经被实例化了              //所以不会再new,即s2指向刚初始化的实例              Singleton s2 = Singleton.getInstance();                System.out.println(s1==s2);                s1.say();                s2.say();                //保证了Singleton的实例被引用的都是同一个,改变一个引用,则另外一个也会变.             //例如以下用s1修改一下say的内容             s1.updatesay("hey is me Senngr");                s1.say();               s2.say();              System.out.println(s1==s2);        }        }  


 

原创粉丝点击