x=1,y=0 此程序子类重写了父类的虚函数,执行过程为: 1.子类初始化,既 int x=1;int y; 2.父类初始化,此例中父类中没有字段或属性赋值。 3.父类构造函数 4.执行父类构造函数中的调用方法 PrintFields(); 5.由于PrintFields方法已经被子类重写了,所以调用的是子类重写后的方法,即输出x=1,y=0; 6.子类构造函数,y=-1 7.结束执行 ======= 第一次执行时一般执行过程 ========= 1.子类静态字段初始化 2.子类静态构造函数 3.子类非静态初始化 4.父类静态字段初始化 5.父类静态构造函数 6.父类非静态初始化 7.父类构造函数 8.子类构造函数以后再执行时,去掉所有静态的步骤,静态只执行一次,即第1,2,4,5步。
参考资料:http://wenwen.soso.com/z/q113029163.htm