如果子類繼承了父類的方法(未重寫),則運行時系統調用父類的方法。
在例3-6中,父類對象a引用的是子類的實例,所以,java運行時調用子類B的callme方法。
importjava.io.*;
classA{
voidcallme(){
System.out.println("InsideA'scallme()method");
}
}
classBextendsA{
voidcallme(){
System.out.println("InsideB'scallme()Method");
}
}
publicclassDispatch{
publicstaticvoidmain(Stringargs[]){
Aa=newB();
a.callme();
}
}
◇方法重寫時應遵循的原則:
1)改寫后的方法不能比被重寫的方法有更嚴格的訪問權限(可以相同)。
2)改寫后的方法不能比重寫的方法產生更多的例外。