java - 使类抽象与使构造函数私有(private)

标签 java oop

我想到了一个设计问题。假设如果我有一个只有静态方法的类,那么以下两个中的最佳设计选项是什么。

  • 使类抽象
  • 将构造函数设为私有(private),这样就没有外部代码 类可以创建此类的对象。

选择取决于具体情况还是只有一种最佳方式?为什么?

最佳答案

使类成为抽象类假定您希望从该类继承。如果您希望发生这种情况,请将其抽象化。

如果您只有静态方法(所以它是某种实用程序类),那么使用第二种方法。
虽然创建此类的实例并没有错,因为这样做没有好处或坏处,但最佳做法是将实用程序类的构造函数设为私有(private)。

关于java - 使类抽象与使构造函数私有(private),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29599805/

相关文章:

Ruby 方法如 `self` 引用实例

c++ - 如何隐藏 C++ dll 中的类?

java - Spring Boot/Data 不重新创建表

java - 如何使用java apache poi api创建Excel列仅允许唯一字符串

java - 无法执行JasperReports : ClassNotFoundException

java - 继承设计

Python Setter 和 Getter 命名

java - StaggeredGridLayoutManager 中的 NullPointerException

java - Selenium WebDriver 和 Java 机器人类

java - 为什么 Checkstyle 默认不允许 protected 变量?