让我们看一下这段代码:
package rpg;
interface A {
// An empty interface
}
public class WarriorClass extends CharacterClass implements A {
final int bab;
public WarriorClass(int a) {
bab = a;
}
public static void main(String[] args) {
A a = new WarriorClass(1);
System.out.println(((WarriorClass) a).bab);
}
}
第一个问题:为什么可以使用接口A
作为类型a
?第二个问题:既然 A 不知道 iVarbab
为什么不知道
System.out.println(((WarriorClass) a).bab);
打印正确的值1
?