我有以下代码:
根据Java规则:
情况1:
案例2:
根据Java规则,Case 1是可以的,而Case 2是不可以的。为什么Case 2 不可以?这条线
class A {
}
class B extends A {
public void fB(){};
}
根据Java规则:
情况1:
B b = new B();
A a = b;
((B)a).fB();
案例2:
A a = new A();
B b = a;
根据Java规则,Case 1是可以的,而Case 2是不可以的。为什么Case 2 不可以?这条线
((B)a).fB();
实际上做了什么(我的意思是里面发生了什么)?