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
# 1 楼答案
没有
构造函数不会被重写
# 2 楼答案
当具有相同名称、返回类型、参数数量和类型的子类被声明为超类的实例方法时,就会发生重写。在这种情况下,子类将重写超类的方法
如果不指定默认构造函数,编译器将创建默认构造函数。然而,这并不是压倒一切的
扩展类时,基类可以链接到基类构造函数,也可以创建自己的构造函数
例如:
# 3 楼答案
@Override
注释在构造函数上下文中没有意义。也许你把overriding和overloading混淆了。这是一个重要的区别。您不会重写构造函数,但可能会使它们过载