gpt4 book ai didi

java - 创建类的 protected 构造函数的优点和缺点是什么

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:15:18 26 4
gpt4 key购买 nike

我有一个愚蠢的疑问,但我想听听一些关于它的意见。

我有一个父类(super class) (MySuperClass),然后,我有大约 70 个类继承自这个父类(super class)(Bean 类)。

这个父类(super class)的目的是使用反射实现“toString”方法,通过这种方式,我确保所有这 70 个类都具有 toString 方法。这 70 个类是 bean,最终目的是记录类信息,而不仅仅是类的实例。

但是,这不是我想讨论的,我想听听您对父类(super class)有一个 protected 构造函数有什么看法,这样做的好处和坏处,而不仅仅是针对这种特殊情况但对于您可以想象的其他情况或场景。

问候,

最佳答案

如果您的目标是确保 MySuperClass 永远不会通过 new MySuperClass() 直接实例化,只有它的子类是,那么声明类 摘要;见http://docs.oracle.com/javase/tutorial/java/IandI/abstract.html .这就是抽象类的真正意义所在。构造函数可以是 publicprotected,这并不重要。

-抽象类中让所有构造函数 protected 的原因是,如果您确实打算使用 new MySuperClass() 实例化类本身,但只希望它被 子类和它的包的其他成员实例化(例如“工厂”对象) .不过,这听起来不像您想要做的。

关于java - 创建类的 protected 构造函数的优点和缺点是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8619301/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com