這個問題一般人做不對的
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 還有一個就是變量的優先級的問題,你作對了碼?