Java-单例模式

[size=large]所谓类的单态设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。
1、如果我们要向让类在虚拟机中只产生一个对象,首先要把类的构造方法的访问权限设置为private。这样就不能用new操作符在类外直接产生对象。
2、调用该类内部的一个静态方法以返回类内部创建的对象。
3、静态方法只能访问类中的静态成员变量,所以,指向类内部产生的该类对象的变量也必须定义成静态的。静态方法返回的实例必须是该类类型的一个静态对象。而在类外如果想访问到的话只能把该方法设置成静态的,这样就可以通过类名加“.”访问该静态方法。如果是普通的成员方法,在外部没有办法使用new就没有办法访问到该方法,故此就无法获得类的实例。
4、代码演示
class Single{
private static Single onlyone = new Single();//私有的,只能在类的内部访问
private String name;
public static Single getSingle() { //static修饰
return onlyone;
}
private Single() {} //private的构造器,不能在类的外部创建该类的对象
}
public class TestSingle{
public static void main(String args[]) {
Single s1 = Single.getSingle(); //访问静态方法
Single s2 = Single.getSingle();
if (s1==s2){
System.out.println("s1 is equals to s2!");
}
}
}[/size]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值