Fer*_*ano 3 java constructor protected
我有一个愚蠢的怀疑,但我想听听一些有关它的意见.
我有一个超类(MySuperClass),然后,我有70个继承自这个超类(Bean类)的类.
这个超类的目的是使用反射实现"toString"方法,这样,我确保所有这70个类都有toString方法.这70个类是bean,最终目的是记录类信息而不仅仅是类的实例.
然而,这不是我想要讨论的内容,我想听到的是你对超级类的受保护构造函数,有这个的好处和缺点有什么看法,不仅对于这个特定情况而且对于其他您可以想象的情况或场景.
问候,
费尔
如果您的目标是确保MySuperClass
永远不会直接通过实例化new MySuperClass()
,只有它的子类,那么声明该类更有意义abstract
; 请参阅http://docs.oracle.com/javase/tutorial/java/IandI/abstract.html.这真的是抽象类的重点.然后构造函数可以是public
或者protected
,它并不重要.
究其原因有所有构造函数protected
的非 - abstract
类是,如果你不打算实例化类本身使用new MySuperClass()
,但只希望它被实例化的子类及其包装的其他成员(如"工厂"对象).但这听起来并不像你想要做的那样.
归档时间: |
|
查看次数: |
2459 次 |
最近记录: |