java - 在不扩展任何内容的类中调用 super() 是不好的做法吗?

标签 java inheritance

我经常看到人们在没有显式扩展任何内容的类中显式调用 super()

public class Foo
{
  public Foo()
  {
    super();

    //do other constructor stuff
  }
}

现在我知道这是完全合法的,如果省略,编译器会添加调用,但我仍然认为这是不好的做法。每当我看到这个时,我想知道程序员是否对继承有一些误解以及所有类都隐式扩展 Object 这一事实。

我是否应该将此添加到我们的编码标准/最佳实践中?当我看到团队中的其他开发人员这样做时,我是否应该召集他们这样做?这是我的个人问题,但我不知道我是否只是挑剔。

最佳答案

虽然我是一个全力追求一致性的人,但我也反对对风格的每一点进行微观管理。拥有大量的编码约定,尤其是当其中一些看起来随意时,是阻止人们遵循它们的部分原因。我认为应该将编码指南简化为最有值(value)的实践,以提高能力。通过强制执行此做法,可读性、可维护性、性能等提高了多少?

虽然我个人的做法是在这种情况下调用super(),但它还不够严重,我不会将其包含在编码指南中或调用它审查其他程序员代码时的缺陷。然而,我仍然会在代码审查中提及它并讨论它(不是作为缺陷,只是作为风格问题)试图游说更多工程师不要使用该调用。

关于java - 在不扩展任何内容的类中调用 super() 是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4679314/

相关文章:

java - 在静态父方法中访问子类常量

java - JButton Java 的继承 - 重写方法问题

java - p :dataList not updating

java - 使用 Android Nanohttpd 轻量级服务器进行文件目录导航

java - 我被要求将启动时间较长的应用程序调整为较短的时间段

c++ - 错误重新: inheritance of private members?

Java java.lang.ClassCastException : some. package.SomeClass 无法转换为 some.package.SomeClass

java - 从alertDialog内的onClickListener访问全局变量

javascript - 类继承,并使用 Coffeescript 需要来自不同文件的子类

ruby-on-rails - Rails 5 - 创建两个继承自基础模型的新模型