实例方法的查找是从对象创建的类开始,沿类层次向上查找。
//Manager类继承Employee类,两者都有computePay()方法 Manager man = new Manager(); Employee emp1 = new Employee(); Employee emp2 = (Employee)man; //向上转型 emp1.computePay(); //调用Employee类中的computePay()方法 man.computePay(); //调用Manager类中的computePay()方法 emp2.computePay(); //调用Manager类中的computePay()方法
类方法的查找是在引用变量声明时所属的类中进行查找。
Manager man = new Manager(); Employee emp1 = new Employee(); Employee emp2 = (Employee)man; emp1.expenseAllowance(); //Employee类 man.expenseAllowance(); //Manager类 emp2.expenseAllowance(); //Employee类
原文:https://www.cnblogs.com/thwyc/p/12317887.html