代码之家  ›  专栏  ›  技术社区  ›  Nathan

PMD CallSuperConstructor的原因是什么?

  •  1
  • Nathan  · 技术社区  · 6 年前

    PMD定义规则 CallSuperInConstructor super() 当编译器不需要它时,在构造函数中?

    @SuppressWarnings 让每节课的规则安静下来。

    This question 处理为什么要打电话 super(...) 超级() 当编译器不需要时调用。

    1 回复  |  直到 6 年前
        1
  •  3
  •   Adam Siemion    6 年前

    如果你的班级

    • 正在扩展一个非- Object 类,该类具有许多重载构造函数

    然后当你明确地呼叫 super()

    举例说明上述情况:

    class Foo {
        final int x;
        Foo(int x) {
            this.x = x;
        }
        Foo() {
            this.x = 1;
        }
    }
    
    class Bar extends Foo {
        Bar(int x) {
        }
    }
    

    new Bar(10).x