• 欢迎访问天天编码网站,Java技术、技术书单、开发工具,欢迎加入天天编码
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏天天编码吧
  • 我们的淘宝店铺已经开张了哦,传送门:https://shop145764801.taobao.com/

Java中私有构造函数的方法与作用

Java基础 tiantian 2919次浏览 2个评论 扫描二维码

在Java中,如果使用 new 操作符来生成新对象,就会调用到该类的构造函数。同时,Java中提供了private、protected和public等关键词来控制类中成员的访问权限,其中的 private 权限会使得被其修饰的成员无法被该类的外部访问。那么,Java中的私有构造函数有什么作用呢?

Java中私有构造函数的方法与作用

原理解析

如果一个方法被 private 修饰符所修饰,意味着它只能够在该类的内部才能被访问到,其他的任何外部类都无法访问该方法,这是由Java规范中的权限控制部分定义的。Java中的权限控制机制为Java代码提供了很好的安全性和封装性。同时,构造函数就像其他的普通方法一样,也可以被 private 修饰符修饰。那么,我们为什么会需要一个私有的构造函数?

当一个类希望不被外部调用,从而创建该类的对象时,就应该考虑使用 private 修饰构造函数。当然,这样做并不意味着完全无法创建该类的对象了,毕竟,我们可以在该类的内部使用该私有的构造函数来创建对象。

应用案例

如果读者了解 设计模式 的话,那么 单例模式 很可能是你学习的第一个设计模式。在该单例模式在Java的实现中,就必须应用此处的私有构造函数特性。为了不熟悉设计模式或单例模式的读者也可以看懂本文,本文简单介绍一下。单例模式就是指只会有一个该类的对象存在于Java的应用中。所以,该类的源码需要保证,除了该类本身之外,没有其他的部分可以调用该类的构造函数,这样才可能保证该类只会有一个实例对象存在。

实际上,不仅在单例模式中,私有构造函数的特性也被广泛地运用于JDK中,我们摘取一段来自 Runtime 类的源码,如下所示:

public class Runtime {
private static Runtime currentRuntime = new Runtime();

public static Runtime getRuntime() {
return currentRuntime;
}

// 私有化构造函数,保护其不被外部调用
private Runtime() {

}
}

天天编码 , 版权所有丨本文标题:Java中私有构造函数的方法与作用
转载请保留页面地址:http://www.tiantianbianma.com/java-private-constructor.html/
喜欢 (3)
支付宝[多谢打赏]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(2)个小伙伴在吐槽
  1. 还有就是不能被继承了。
    匿名2017-10-27 21:43 回复 Windows 10 | Chrome 62.0.3202.75
  2. 博主的回复功能不能即时刷新+登录吖
    匿名2017-10-27 21:43 回复 Windows 10 | Chrome 62.0.3202.75