這個問題一般人做不對的
public class A {
    public A() {
        System.out.println("A");

    }

    int a = 1;

    double d = 2.0;

    void show() {
        System.out.println("Class A: a=" + a + "\tb=" + d);
    }
}

public class B extends A {
    public B() {
        System.out.println("B");
    }

    float a = 3.0f;

    String d = "java prog";

    void show() {
        // super.show();
        System.out.println("CLoas b=" + a + "\td=" + d);
    }

}


public class C {

    public static void main(String[] args) {
        A b=new B();
        System.out.println(b.a);
        b.show();
    }
   
}


先別看下面的答案,自己做看看

A
B
1
CLoas b=3.0    d=java prog

其實這個里面包含了兩個概念:
1 程序運行順序
2 還有一個就是變量的優先級的問題,你作對了碼?