Java中私有构造函数的原理是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
1. 强调类的单例模式
public class Elvs { //公有的静态域,来说明该类只能有一个实例(实例化一次后,后面都是同一个实例) public static final Elvs INSTANCE=new Elvs(); private Elvs(){}//将构造函数定义为私有变量后,就不能在外部去调用构造函数实例化类了 public void sys() { System.out.println("******"); }}public class Main { public static void main(String[] args){ Elvs elvs=Elvs.INSTANCE; elvs.sys(); }}
注意上面的代码中,在其他的外部类中去实例化Elvs时,只能通过静态变量INSTANCE
public class Elvs { private static final Elvs INSTANCE = new Elvs(); private Elvs() {} public static Elvs getInstance() {return INSTANCE;} public void sys() { System.out.println("******"); }}public class Main { public static void main(String[] args){ Elvs elvs=Elvs.getInstance(); elvs.sys(); }}
根据静态方法来获取类的实例,也是只能获取一个实例,实现单例模式
2. 通过类的私有构造函数来强调类的不可实例化
例如在实际的应用中,工具类,或者整个工程的常量类,在类中只有静态常量,
这时我们可以在类中去定义一个私有的构造函数,然后在类中不去调用它,这样
在其他的类处就不能实例化这个常量类了。
关于Java中私有构造函数的原理是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。