我在java中多態混淆。在動態方法綁定中,jvm在運行時決定哪個類方法必須調用。假設我有三個類A,B和C.Java多態中的混淆
class A{
int get(){
return 10;
}
int getParent(){
return 10;
}
}
class B extends A
{
int get(){
return 20;
}
}
public class C
{
public static void main(String args[])
{
A a = new A();
A a1 = new B();
System.out.println(a.get());/////////////////////////LINE1
System.out.println(a1.get ());////////////////////////LINE2
System.out.println(a.getParent());////////////////////////LINE3
}
}
我在編譯時和運行時綁定時遇到了第1行和第3行的混淆。 在第3行中,a.getParent()和此方法僅在父類中,因此它必須在運行時決定。
在第1行中,引用和對象都來自同一類,所以它必須再次決定。
請給我任何良好的鏈接運行時和編譯時綁定如何工作。