大部分的时候都把类的构造器定义为public访问权限,允许任何类自由创建该类的对象,但其他某些时候这样会降低系统的性能,比如回收对象带来的开销,为了避免其他类自由的创建该类,我们可以把类的构造器设置为私有属性,一旦把类的构造器定义为私有属性,必须提供一个公共的方法,且为static修饰,因为调用该方法的时候还不存在对象,因此调用该方法的不会是对象,只能是类,除此之外,还必须缓存已经创建的对象,否则该类无法知道之前是不是创建了对象,也就无法保证之创建了一个对象,为此该类需要使用一个成员对象来保存曾经创建的对象,因为该成员变量需要被上面的变量访问。
package Myproject;
public class singleton {
private static singleton instanse;
private singleton(){}
public static singleton getInstance(){
if(instanse==null){
instanse=new singleton();
}
return instanse;
}
}
package Myproject;
public class Mysingleton {
public static void main(String[] args){
singleton s1=singleton.getInstance();
singleton s2=singleton.getInstance();
}
}
singleton s3=new singleton();//这样的声明方式就是错误的,找不到声明方式。
时间: 2024-10-27 08:23:27