java——Java构造方法的私有化

时间:2023-02-16 22:40:36

原文链接: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方法。     此程序的意义: 如果现在一个类只能有一个实例化对象的话,那么这样的设计就称为--单例设计 当整个系统中只需要一个实例化的对象时,就是用此设计模式。