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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值