当前位置: 技术问答>java相关
很简单的问题啊! 可我怎么不知道怎么办啊! 散分啊!!!
来源: 互联网 发布时间:2015-06-10
本文导语: class Super{ public int i=0; public Super(String text){ i=1; } } public class Sub extends Super{ public Sub(String text){ i=2; } public static void main(String args[]){ Sub sub=new Sub("Hello"); System.out.println(sub.i); } } compile will fail 这是我用JPADPRO...
class Super{
public int i=0;
public Super(String text){
i=1;
}
}
public class Sub extends Super{
public Sub(String text){
i=2;
}
public static void main(String args[]){
Sub sub=new Sub("Hello");
System.out.println(sub.i);
}
}
compile will fail
这是我用JPADPRO 和JDK1.3
Sub.java:9: cannot resolve symbol
symbol : constructor Super ()
location: class Super
public Sub(String text){
^
1 error
Finished
我没看懂!?
为什么编译通不过去啊! ?希望详细解释!?
谢谢!!!!!!!
public int i=0;
public Super(String text){
i=1;
}
}
public class Sub extends Super{
public Sub(String text){
i=2;
}
public static void main(String args[]){
Sub sub=new Sub("Hello");
System.out.println(sub.i);
}
}
compile will fail
这是我用JPADPRO 和JDK1.3
Sub.java:9: cannot resolve symbol
symbol : constructor Super ()
location: class Super
public Sub(String text){
^
1 error
Finished
我没看懂!?
为什么编译通不过去啊! ?希望详细解释!?
谢谢!!!!!!!
|
public class Sub extends Super{
public Sub(String text){
super(text);
super.i = 2;
}
public static void main(String args[]){
Sub sub=new Sub("Hello");
System.out.println(sub.i);
}
}
在构造之前会调用父类的构造方法
你的代码试图去调用父类的缺省构造方法,当然是没有的
所以要指明调用super(text);
明白了没?