我不希望任何人覆盖我的构造函数尝试使用私有(private)方法,但它给出了我的错误如何停止覆盖我的构造函数
class bc {
int a;
bc() {
System.out.println("hi this is construvtor ");
a = 10;
System.out.println("the value of a=" + a);
}
}
class dc extends bc {
int b;
dc() {
a = 20;
System.out.println("derived dc");
System.out.println("derived value of a=" + a);
}
}
public class sup {
public static void main(String[] args)
{
dc s1 = new dc();
}
}
最佳答案
构造函数不会被重写,方法会被重写。
当您在子类中添加与父类具有相同参数的构造函数时,它不会覆盖父类中的哪一个。
它只提供了一种实例化子类的方法,与调用父类构造函数的方法相同。
在父类中使用private
构造函数只会使该类不可继承,因为子类构造函数需要调用父类构造函数和父类中的private
构造函数防止它。
关于java - 如何阻止构造函数在派生类中尝试使用私有(private)但不起作用的java继承中覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46823771/