所谓单太,就是只能创建一个该类的对象,不能创建多个,实现单太最主要的方法是构造起私有化,在C++里也是一样的。下面给出具体例子供大家参考:
class SigCle{
private String name;
private int age;
private static SigCle inst;//用来标志实例化该类
//私有构造器实现单太
private SigCle(String aName,int aAge){
name = aName;
age = aAge;
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
//接口方法,用来创建对象
public static SigCle getInstance(){
if(inst==null){
System.out.println("no");
inst = new SigCle("zz",11);
return inst;
}
else{
System.out.println("cunzai");
return inst;
}
}
}
public class tests{
public static void main(String arg[]){
SigCle sc1=null;
SigCle sc2=null;
sc1=sc1.getInstance();
sc2=sc2.getInstance();
System.out.println(sc1.getName());
System.out.println(sc2.getName());
System.out.println(sc1.getAge());
System.out.println(sc2.getAge());
}
}
class SigCle{
private String name;
private int age;
private static SigCle inst;//用来标志实例化该类
//私有构造器实现单太
private SigCle(String aName,int aAge){
name = aName;
age = aAge;
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
//接口方法,用来创建对象
public static SigCle getInstance(){
if(inst==null){
System.out.println("no");
inst = new SigCle("zz",11);
return inst;
}
else{
System.out.println("cunzai");
return inst;
}
}
}
public class tests{
public static void main(String arg[]){
SigCle sc1=null;
SigCle sc2=null;
sc1=sc1.getInstance();
sc2=sc2.getInstance();
System.out.println(sc1.getName());
System.out.println(sc2.getName());
System.out.println(sc1.getAge());
System.out.println(sc2.getAge());
}
}