在构造函数中使用Override注释被认为是一种好的做法吗?

时间:2013-08-21 14:14:59

标签: java constructor annotations

我已经读过使用@Override注释带来了许多好处,并且一致意见是你应该在每个被覆盖的方法上使用它。

在构造函数中使用@Override注释是否也是一种好习惯?

3 个答案:

答案 0 :(得分:12)

没有

不会覆盖构造函数。

答案 1 :(得分:2)

@Override注释在构造函数的上下文中没有任何意义。也许您将overridingoverloading混为一谈。这是一个重要的区别。您不会覆盖构造函数,但可能会使它们超载。

答案 2 :(得分:1)

当具有相同名称,返回类型,数量和参数类型的子类被声明为超类的实例方法时,会发生覆盖。在这种情况下,子类将覆盖超类的方法。

如果未指定默认构造函数,编译器将创建默认构造函数。然而,这不是覆盖。

扩展类时,Base类可以链接到Baseclass构造函数或创建自己的构造函数。

例如:

public class Base
{
    public Base(int i) {}

    public Base(String str) {}
}

public class Derived extends Base
{
    public Derived()
    {
        super(5);
    }
}

Derived d1 = new Derived(4); // Correct
Derived d1 = new Derived("4"); // Incorrect - constructor not implemented
相关问题