【问题标题】:Static methods or empty constructor [closed]静态方法或空构造函数
【发布时间】:2021-01-08 23:04:01
【问题描述】:

作为学习 Java 的人,我发现我很难选择是应该使用空构造函数创建类还是将她的所有方法都设为静态。

如果我有一个没有属性的类,它可以读取文件并对数据进行操作,并且只被称为一个人喊它是静态的或有空的构造函数。

因为我只需要调用类中的一个方法(他调用其余方法)我应该将所有方法设为静态还是应该通过创建空对象来调用她?

【问题讨论】:

  • 如果您真的根本不需要任何属性,那么该类仅适用于静态方法。 (在这种情况下将构造函数设为私有。)创建没有属性的类是有原因的。一种是灵活性,您怀疑将来可能需要添加属性。
  • 这能回答你的问题吗? When to use static methods

标签: java class constructor static


【解决方案1】:

实际上它将是一个私有构造函数,而不是空的,因为您不想实例化该类。但这里有一些准则。

  • 创建不需要访问实例字段但进行一些计算的静态方法。一个很好的例子是Math.class
  • 在访问实例字段并可能进行更改时使用实例方法。 Getter 和 setter 就是很好的例子。有时可以将私有辅助方法声明为静态的。

但不要使用静态方法作为基本类型,或者因为它们更易于使用(即在静态或非静态上下文中工作)。它们与 OOP 的概念背道而驰。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    • 2012-12-10
    • 2021-11-08
    • 1970-01-01
    • 2012-02-21
    相关资源
    最近更新 更多