Java Singleton(Java单例设计模式),
分享于 点击 24463 次 点评:18
Java Singleton(Java单例设计模式),
//手机 请上下左右 滑动屏幕 观看更全 !
//package Main;
//单例设计模式和多例设计模式(升级版看enumDemo类(枚举) )
/**
* @SaySomething(我觉得我应该说点什么的):
* :单例模式和多例模式就是控制实例化对象产生的个数,如果单例模式实例在系统中经常被用到,
* 饿汉式是一个不错的选择,反之如果单例模式在系统中会很少用到或者几乎不会用到,那么懒汉式是一个不错的选择 。
* -懒汉式:在程序启动或单例模式类被加载的时候,单例模式实例就已经被创建。
* -饿汉式:当程序第一次访问单例模式实例时才进行创建。
* -枚举类一般存的是类对象
* @Attention(注意):
* @time(时间):-2019/04/29
* @role(谁):-东方神祇(杨)
*
* @modify(修改)-:
* -@time:
* -@role:
*/
public class Singleton {
public static void main(String[] args) {
//单例
SingletonDemo Instance = null ;
Instance = SingletonDemo.getInstance() ;
Instance.print();
SingletonDemo Instance1 = SingletonDemo.getInstance() ;
Instance1.print() ;
//如果一下两个对象对比皆为true则表示为同一共用对象,并没有创建新对象
System.out.println(Instance==Instance) ; //如果为true则表两个对象为同一内存地址
System.out.println(Instance.equals(Instance1)) ;//如果为true则表两个对象内容一样
//多例
MoreCaseDemo mcd = null ;
MoreCaseDemo mcd1 = null ;
MoreCaseDemo mcd2 = null ;
mcd=MoreCaseDemo.sgtMoreCasseDemo("好山") ;
mcd1=MoreCaseDemo.sgtMoreCasseDemo("好水") ;
mcd2=MoreCaseDemo.sgtMoreCasseDemo("好风光") ;
System.out.println(mcd.toString()) ;
System.out.println(mcd1.toString()) ;
System.out.println(mcd2.toString()) ;
System.out.println(mcd.equals(mcd2)) ;
System.out.println(mcd.toString().equals(mcd2.toString())) ;
}
}
class SingletonDemo{
private SingletonDemo(){}
private static final SingletonDemo INSTANCE = new SingletonDemo() ;
public static SingletonDemo getInstance(){
return INSTANCE ;
}
public void print(){
System.out.println("杨木发好帅!");
}
}
//多例设计模式
class MoreCaseDemo{
private String title ;
private MoreCaseDemo(String title){
this.title = title ;
}
private static final MoreCaseDemo MCD = new MoreCaseDemo("好山") ;
private static final MoreCaseDemo MCD1 = new MoreCaseDemo("好水") ;
private static final MoreCaseDemo MCD2 = new MoreCaseDemo("好风光") ;
private static final MoreCaseDemo MCD3 = new MoreCaseDemo("NULL!") ;
public static MoreCaseDemo sgtMoreCasseDemo(String attribute){
switch(attribute){
case "好山" :return MCD ;
case "好水" :return MCD1 ;
case "好风光" :return MCD2 ;
default: return MCD3 ;
}
}
public String toString(){
return this.title ;
}
}
相关文章
- 暂无相关文章
用户点评