防止Java实例化的正确方法[关闭]

2024-05-18

如果我们想阻止 Java 中对象的实例化,我们可以使用多种方法,其中最明显的是:

  1. 抽象关键字
  2. 私有/受保护的构造函数

假设类不包含抽象方法,我们使用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(使用前将#替换为@)

防止Java实例化的正确方法[关闭] 的相关文章

随机推荐