构造函数的调用问题
aceor 2006-04-02 01:01:32 Abstract class A{
public A(){draw();}
abstract draw();
}
class B extends A{
public B(){}
void draw(){}
}
public class Test{
public static void main(String[] args){
B b=new B();
}
}
根据java里构造函数的递归调用过程,
1,B构造器构造对象的时候先调用A的构造器,
2,而A的构造器则会调用A的draw方法,
3,而B又是实现A的子类,则A的draw方法会调用B的draw方法,这时B又要调用A的构造器,
这样一来不是死循环了?不知道我这样理解对不对,