このコードを見てみましょう:
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
ですか? 2 番目の質問: A は iVar について知らないので、bab
なぜ
System.out.println(((WarriorClass) a).bab);
正しい値を出力します1
か?