如果我们想阻止 Java 中对象的实例化,我们可以使用多种方法,其中最明显的是:
- 抽象关键字
- 私有/受保护的构造函数
假设类不包含抽象方法,我们使用abstract关键字来阻止创建对象。这种方法是否不正确(我的意思不是语法正确性,而是语义正确性)?或者在这种情况下使用私有构造函数更好?
Thanks
UPD类将成为其他类的基类,尽管它不包含抽象方法。就我而言,它是一些“AbstractTestBase”,其中包含一些常见的数据和实用方法,可以由某些集成/单元测试组使用。
当您想使用该类作为子类时,“带有私有构造函数的最终类”的建议显然不起作用,因此您必须采用“抽象”方式。从“抽象类”的定义来看,这是合法的,因为定义准确地说明了您想要的内容:
抽象类是被声明为抽象的类——它可能或可能
不包括抽象方法。抽象类不能被实例化,
但它们可以被子类化。
http://docs.oracle.com/javase/tutorial/java/IandI/abstract.html http://docs.oracle.com/javase/tutorial/java/IandI/abstract.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)