在多态中成员函数(非静态)的特点:
在编译时期:参阅引用型变量所属的类中是否有调用的方法。如果有,编译通过,如果没有,编译失败。
在运行时期:参阅对象所属的类中是否有调用的方法。
简单总结就是:成员函数在多态调用时,编译看左边,运行看右边。
在多态中成员变量的特点:
无论编译还是运行,都参考左边(引用型变量所属的类)。
在多态中静态成员函数的特点:
无论编译还是运行都参考左边
public class DuoTai_04 { public static void main(String[] args) { // TODO Auto-generated method stub /*Zi z=new Zi(); z.method1(); //子类覆盖父类 z.method2(); //子类没有method2,打印父类的 z.method3();*/ //子类独有的 Fu f=new Zi(); f.method1(); f.method2(); System.out.println(f.num); //4 f.method4(); //fu method_4 Zi z=new Zi(); System.out.println(z.num); //6 } } class Fu{ int num=4; void method1(){ System.out.println("fu method_1"); } void method2(){ System.out.println("fu method_2"); } static void method4(){ System.out.println("fu method_4"); } } class Zi extends Fu{ int num=6; void method1(){ System.out.println("zi method_1"); } void method3(){ System.out.println("zi method_3"); } }