构造方法默认都是public的这样别的程序可以通过访问这个public的构造方法来创建这个类的一个实例,如果你将构造方法私有的话这个样其他程序就不能通过访问这个构造方法来创建这个类的实例了。不过私有的构造方法也有他的应用比如说单例模式。
public class Singleton{
private Singleton(){
generator = new Random();
}
public void setSeed(int seed){
generator.setSeed(seed);
}
public int nextInt(){
return generator.nextInt();
}
public static synchronized Singleton getInstance(){
if (instance == null) {
instance = new Singleton();
}
return instance;
}
private Random generator;
private static Singleton instance;
}
package singleton;
public class Client{
public static void main(String[] args){
Singleton s1 = Singleton.getInstance();
System.out.println(s1.toString());
for(int i=0;i<10;i++){
Singleton s2 = Singleton.getInstance();
System.out.println("The randomed number is "+s2.toString());
}
}
}