Java 编译错误继承
我有下面的代码,它不会编译Java 编译错误继承,java,inheritance,compiler-errors,Java,Inheritance,Compiler Errors,我有下面的代码,它不会编译 public class P { private int num; P(int n) { this.num = n; } } public class Q extends P { private int i; public Q() { i = 0; } } 修复第二个方法,使其可以编译 您需要在p中添加默认构造函数以使其可编译 public class P { private
public class P {
private int num;
P(int n) {
this.num = n;
}
}
public class Q extends P {
private int i;
public Q() {
i = 0;
}
}
修复第二个方法,使其可以编译 您需要在
p
中添加默认构造函数以使其可编译
public class P {
private int num;
P(int n) {
this.num = n;
}
}
public class Q extends P {
private int i;
public Q() {
i = 0;
}
}
P() {
this.num = 0; // some default value
}
调用超级构造函数:
public Q() {
super(42); // <--
i = 0;
}
public Q(){
super(42);//在代码中,编译器在Q类中写入super()关键字,时间控制将转到p类并调用构造函数,但p类有一个参数构造函数。所以,您可以添加任何数字的super()关键字,因为p类构造函数有一个int类型的参数
class P {
private int num;
P(int n) {
this.num = n;
}
}
public class Q extends P {
private int i;
public Q() {
super(20);
i = 0;
}
}
但我需要加上Q而不是P