如果子类继承了父类的方法(未重写),则运行时系统调用父类的方法。
在例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)改写后的方法不能比重写的方法产生更多的例外。