我已经读过使用@Override
注释带来了许多好处,并且一致意见是你应该在每个被覆盖的方法上使用它。
在构造函数中使用@Override
注释是否也是一种好习惯?
答案 0 :(得分:12)
没有
不会覆盖构造函数。
答案 1 :(得分:2)
@Override
注释在构造函数的上下文中没有任何意义。也许您将overriding与overloading混为一谈。这是一个重要的区别。您不会覆盖构造函数,但可能会使它们超载。
答案 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