class A {
public A() {
a1();
}
public void a1() {
System.out.println("A-a1");
}
}
public class Test extends A {
int bb = 0;
public Test() {
bb = 1000;
}
public void a1() {
System.out.println("bb is " + bb);
System.out.println("B-a1");
}
public static void main(String[] args) {
new Test();
}
}
知道他们的答案了吗?不知道的话,看看我标出的执行顺序吧。
package com;
class A{
//3
public A() {
a1();
}
public void a1() {
System.out.println("A-a1");
}
}
public class B extends A{
int bb = 0; //2
public B() {
//5
bb = 1000;
}
//4
public void a1() {
System.out.println("bb is " + bb);
System.out.println("B-a1");
}
public static void main(String[] args) {
//1
new B();
}}