super指向*父类*,如果*父类*的构造函数中也super了的话,当然会再调用*爷类*了:)
解决方案 »
- 怎样才能记住java里的那么多类方法
- 新人求教javac -d 编译时自动创建包的使用!
- 错误the type EWindow must implement the inherited abstract method itemlistener怎么解决?
- 关于打包的问题
- jtable删除某一行记录的问题
- java 小数点
- Vector 遍历问题,这有错吗(急分手,在线)
- 排序的问题,怎么会多排了几次???!!
- 简单问题!帮忙看一下
- 江湖告急!!!!!!!!!!
- 有关Java构造函数的问题之二——实例性
- 怎么使Applet能访问本地文件?在加载类时,出现如图所示的对话框。(http://www.cnelc.com/java.jpg)
当你new test3时,先调用test3的构造函数,因为test3 extends test2,所以先调用test2的构造函数,test2又extends test1,所以对test1的构造函数就行调用.
执行完test1构造函数中的主体后,执行test2构造函数里的主体,最后执行test3的主体.
class test0{
public test0() {
System.out.println("test0");
}
}
class test1 extends test0{
public test1() {
//super();
System.out.println("test1");
}
}
public class test extends test1{
public test() {
//super();
System.out.println("test");
}
public static void main(String args[]) {
test t=new test();
}
}
你可以把super()前的注释取消,结果都是一样的。