原文链接:http://blog.chinaunix.net/uid-21660668-id-431183.html
使用private关键字可以声明属性,声明的属性不能被外部直接访问。同样,可以使用private声明方法,声明的方法只能在类的内部看见。 ·构造方法也可以使用private声明,一旦声明,则外部就不能对对象进行实例化操作了。 范例1: class Single{private Single() ; //将构造方法私有化
public void print(){
System.put.println("Hello world!!");
}
}
public class SingleDemo01{
public static void main(String args[]){
Single s = null ; //声明对象
s = new Single ; //实例化对象
s.print();
}
} 运行结果: 不能编译,因为Single()是私有化的构造方法,在“s = new Single()”中则不可以执行。 修改范例2: class Single{
private static Single instance = new Single();
// 在类中对构造方法进行实例化
private Single() ; //将构造方法私有化
public static Single getInstance(){
return instance ;
}
//对insance 对象进行get方法取得
public void print(){
System.put.println("Hello world!!");
}
}
public class SingleDemo02{
public static void main(String args[]){
Single s = null ; //声明对象
s = Single.getInstance();
//通过类中的get方法对对象instance简介进行实例化
s.print();
}
} 执行结果:Hello world!! 总结: 在类中如果声明了私有化的构造方法,那么主方法中若取得并且实例化对象可以用以下方法: ·在类中进行对私有化的构造方法的实例化。 ·用static的get方法对实例化的对象进行取值。 ·在主方法中取得实例化对象用get方法。 此程序的意义: 如果现在一个类只能有一个实例化对象的话,那么这样的设计就称为--单例设计。 当整个系统中只需要一个实例化的对象时,就是用此设计模式。