码迷,mamicode.com
首页 > 其他好文 > 详细

为什么提供私有的构造器能保证一个类只有一个实例(有待深入)

时间:2019-06-25 13:30:44      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:方法   字符串   字段   设置   构造   创建对象   创建   验证   使用   

1.在我们新建一个类的对象的时候,构造器创建对象后会自动被调用,发生在其他类成员被设置为默认初始值之后,当然如果有字段初始器和初始化块的话,构造器的调用会发生在此之后。构造器的主要作用是在new将对象的引用返回之前初始化对象
 
2.其访问权限是private,于是它只能被包含它的类自身所访问,而无法在类的外部调用,故而可以阻止对象的生成。所以,如果一个类只有一个私有构造器,而没有任何公有构造器,是无法生成任何对象的。
 
3.那么无法生成对象的带有私有构造器的类究竟有什么作用呢?这样的类在实际应用中最常用的是作为工具类,如字符串的验证、枚举转换之类的,通常只做成静态接口被外部调用即可。这里先插入一点关于静态方法的说明。静态方法是用static关键字声明的方法,可以用类来直接调用而无需用从类中实例化出来的具体对象来调用,因此这样的方法也被称为类方法。
 
4.那么在外部使用的时候,只需要通过类名,而不是对象实例来调用validataString方法,如A.validataString(str);可以直接调用此方法。阻止生成对象可以防止不可预期的结果。

为什么提供私有的构造器能保证一个类只有一个实例(有待深入)

标签:方法   字符串   字段   设置   构造   创建对象   创建   验证   使用   

原文地址:https://www.cnblogs.com/wzdnwyyu/p/11082215.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!