为了账号安全,请及时绑定邮箱和手机立即绑定

JAVA中构造方法私有化的作用是什么?

JAVA中构造方法私有化的作用是什么?

慕桂英3389331 2019-03-03 04:00:03
JAVA中构造方法私有化的作用是什么?
查看完整描述

2 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

本类内部中实例化对象。

类中的封装性不光体现在对属性的封装上,实际上方法也是可以被封装的,当然在方法封装中也包含了对构造方法的封装。

举例:

public class GzPrivate2 {

public static void main(String[] args) {

//声明对象,不会报错

Singleton s = null;

//实例化对象,调用了私有化的构造方法,程序报错

s = new Singleton();//错误,无法实例化对象

}

}

class Singleton{

private Singleton(){

//将构造方法进行了封装,私有化,这时候此构造方法只能在本类中可见!

}

public void prit(){

System.out.println("nishuibaichuan");

}

}

以上程序运行报错!因为此类Singleton中的构造方法被私有化了,只能在本类Singleton中可见,不能再外部直接实例化!既然再外部不可用,那么我们就在内部使用!

举例:

public class GzPrivate {

public static void main(String[] args) {

//声明对象,不会报错

Singleton1 s = null;

}

}

class Singleton1{

//在内部产生本类的实例化对象

Singleton1 singleton1 = new Singleton1();

private Singleton1(){

//将构造方法进行了封装,私有化,这时候此构造方法只能在本类中可见!

}

public void prit(){

System.out.println("nishuibaichuan");

}

}

由上代码可知,当构造方法在其类中被私有化,那么就只能在其本类内部中实例化对象了!


 


查看完整回答
反对 回复 2019-03-09
  • 2 回答
  • 0 关注
  • 1429 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信