这个问题一般人做不对的
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 还有一个就是变量的优先级的问题,你作对了码?