猿问

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

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


慕桂英3389331
浏览 1430回答 2
2回答

喵喔喔

本类内部中实例化对象。类中的封装性不光体现在对属性的封装上,实际上方法也是可以被封装的,当然在方法封装中也包含了对构造方法的封装。举例: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");}}由上代码可知,当构造方法在其类中被私有化,那么就只能在其本类内部中实例化对象了! 
随时随地看视频慕课网APP

相关分类

Java
我要回答