java中1分钟_理解JAVA中的单例模式 --->花1分钟看看

到介绍的大概有23种设计模式之多。象工厂代码如下

nbsp;对于JAVA中的设计模式,看//下面是一个单例模式的类

public class MySingleton

{

到介绍的大概有23种设计模式之多。象工厂

privatestatic final MySingleton INSTANCE= new MySingleton();

privateMySingleton()cade)模式,观察者Observer模

{

}

publicstatic 到介绍的大概有23种设计模式之多。象工厂final MySingleton getInstance(){

return INSTANCE;

}&

}

//下面一个不是单例模式的类cade)模式,观察者Observer模

public class NoSingleton

{

public NoSingleton()模式,工厂方法模式,单例模式,外观(Fa

{} private int id;

private String name;模式,工厂方法模式,单例模式,外观(Fa

public int getId() {

return id;

}cade)模式,观察者Observer模

public void setId(int id) {

this.id = id;

}cade)模式,观察者Observer模

public String getName() {

return name;

}到介绍的大概有23种设计模式之多。象工厂

public void setName(String name) {

this.name = name;

}

nbsp;对于JAVA中的设计模式,看

......

}

到介绍的大概有23种设计模式之多。象工厂

测试类

到介绍的大概有23种设计模式之多。象工厂

public class TestSingleton

{

nbsp;对于JAVA中的设计模式,看//Date200810301627

//authtor 网络时空

cade)模式,观察者Observer模

public static void main(String[] args)

{

模式,工厂方法模式,单例模式,外观(FaSystem.out.println("========================================"); System.out.println("下面是使用单例模式,来调用类的实例");

System.out.println("========================================"); nbsp;对于JAVA中的设计模式,看

for(inti=0;i<6;i++)

{

intm=i+1;到介绍的大概有23种设计模式之多。象工厂

System.out.println("第 "+m+" 次"+"得到的对象值为"+MySingleton.getInstance());

}

cade)模式,观察者Observer模System.out.println("========================================"); System.out.println("下面是不使用单例模式,来调用类的实例");

System.out.println("========================================"); nbsp;对于JAVA中的设计模式,看

for(inti=0;i<6;i++)

{

int n=i+1;模式,工厂方法模式,单例模式,外观(Fa

NoSingleton noSingletion=new NoSingleton();

System.out.println("第 "+n+" 次"+"得到的对象值为"+noSingletion);

}到介绍的大概有23种设计模式之多。象工厂

}

}

nbsp;对于JAVA中的设计模式,看

测试结果:

nbsp;对于JAVA中的设计模式,看

根据结果,阿堂总结如下

到介绍的大概有23种设计模式之多。象工厂1.通过单例模式设计的类MySingleton,定义了一个private的构造方法,一个staticfinal类型的常量INSTANCE,其值就是返回一个MySingleton的实例,然后再定义一个getInstance()的静态方法来返回一个INSTANCE,而这个值就是一个不变的实例或值,也就是第一次newMySingleton()产生的对象,所以测试类中,循环6次中,我们打印得到的始终是同一个对象,这就充分验正了,单例模式,只new了一次(实例化了一次),减少了在堆中开辟内存空间的开销

nbsp;对于JAVA中的设计模式,看

&2.没有用单例模式的类,我们在测试类中,循环6次中,我们打印得到的始终是不同对象,这就说,我们在堆内存中new了六次,产生了6个对象,很显示,这是需要占用内存资源,影响运行效率的

nbsp;对于JAVA中的设计模式,看3.对于上单例模式的类中,在测试中,阿堂去掉了final终态类型的限制,循环6次中,我们打印得到的始终是同一个对象,这里说明了final在此处可有可无,那为什么还要加上final呢?

nbsp;对于JAVA中的设计模式,看这里使用final是为了更安全,保证你这个类的其他方法、其他代码不能对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值