class Test2
{
public static void main(String[] args) {
B b=new B();
}
}
class B
{
public B()
{
System.out.println("I'm B");
}
D d=new D();
}class D
{
public D()
{
System.out.println("I'm D");
}
}这行代码为什么会先执行D d=new D();而不是先执行 B的购造方法??
{
public static void main(String[] args) {
B b=new B();
}
}
class B
{
public B()
{
System.out.println("I'm B");
}
D d=new D();
}class D
{
public D()
{
System.out.println("I'm D");
}
}这行代码为什么会先执行D d=new D();而不是先执行 B的购造方法??
象D d=new D();这样的变量,然后才调用类的构造方法.
这一句是在构造对象,申明成员变量的时候就执行了。
B()是在申明成员变量以及它们的初始化(也就是申明时的赋值)完成之后才执行。