当前位置: 技术问答>java相关
问个问题,关于父类和子类的构造器
来源: 互联网 发布时间:2017-04-04
本文导语: class super1 { public int i=0; public super1(String text) { i=1; } } public class Sub extends super1 { public Sub(String text) { i=2; } public static void main(String args[]) { Sub sub=new Sub("Hello"); System.out.println(sub.i); } } 答案是Com...
class super1 {
public int i=0;
public super1(String text) {
i=1;
}
}
public class Sub extends super1 {
public Sub(String text) {
i=2;
}
public static void main(String args[]) {
Sub sub=new Sub("Hello");
System.out.println(sub.i);
}
}
答案是Compile Err.
出错信息如下:
C:>javac Sub.java
Sub.java:9: cannot resolve symbol
symbol : constructor super1 ()
location: class super1
public Sub(String text) {
^
1 error
请问这是什么意思呢?
public int i=0;
public super1(String text) {
i=1;
}
}
public class Sub extends super1 {
public Sub(String text) {
i=2;
}
public static void main(String args[]) {
Sub sub=new Sub("Hello");
System.out.println(sub.i);
}
}
答案是Compile Err.
出错信息如下:
C:>javac Sub.java
Sub.java:9: cannot resolve symbol
symbol : constructor super1 ()
location: class super1
public Sub(String text) {
^
1 error
请问这是什么意思呢?
|
class super1 {
public int i=0;
public super1(){}
public super1(String text) {
i=1;
}
}
public class Sub extends super1 {
public Sub(String text) {
i=2;
}
public static void main(String args[]) {
Sub sub=new Sub("Hello");
System.out.println(sub.i);
}
}
---------------这样就可以了,你可以尝试着自己总结一下!
public int i=0;
public super1(){}
public super1(String text) {
i=1;
}
}
public class Sub extends super1 {
public Sub(String text) {
i=2;
}
public static void main(String args[]) {
Sub sub=new Sub("Hello");
System.out.println(sub.i);
}
}
---------------这样就可以了,你可以尝试着自己总结一下!
|
应在了类构造方法中的第一行,调用父类的构造方法。
因为父类的构造方法不是黙认的构造方法。
因为父类的构造方法不是黙认的构造方法。