class Tag
{
public Tag(int er)
{
System.out.println("Tag(" + er +")");
}
}class Card
{
Tag t1 = new Tag(1);
Card()
{
System.out.println("Card()");
t3=new Tag(33);
}
Tag t2 = new Tag(2);
void f()
{
System.out.println("f()");
}
Tag t3 = new Tag(3);
}
public class OrderOfInitlization
{
public static void main(String [] args)
{
Card t = new Card();
t.f();
}
}程序如上,为什么程序不是顺序执行呢(就是执行Tag t1 = new Tag(1);再执行t1的初始化,再执行
Card()
{
System.out.println("Card()");
t3=new Tag(33);
}
),
而是先进行t1,t2,t3的初试话,执行完以后在执行CARD()呢?