java中的“本地指令”是什么意思,我看到这个例子,我理解了继承,但我需要澄清本地指令。
class javafunc {
public static void main(String aa[]) {
javafunc e = new javafunc ();
B b = new E (); //local instruction
b.print ();
}
}
class B {
public void print() {
System.out.println("In B");
}
}
class E extends B {
public void print() {
System.out.println("In E");
}}
答案 0 :(得分:0)
这是方法覆盖的情况。您可以看到您的父类(B类)和子类(E类)具有相同的方法“void print()”。那么,你怎么看,应该运行哪种方法? 在B级打印或在E级打印 E类方法即使继承自其父类也会运行。
B b = new E (); // B reference but E object
即使您正在为“E”创建参考变量,也可以在E类运行中创建方法。这是因为在运行时JVM运行为对象指定的方法。 关于你的//本地指令,我不知道这一点,但该行意味着你正在为“E”对象创建一个类型为“B”的引用变量“b”。