首页 > 学院 > 开发设计 > 正文

多态的成员特点

2019-11-14 22:33:04
字体:
来源:转载
供稿:网友
多态的成员特点

⒈在多态中非静态成员函数的特点:①在编译时期:参阅引用型变量所属的类中是否有调用方法。如果有,编译通过,否则编译失败;②在运行时期:参阅对象所属的类中是否有调用的方法。 --------------------------------------------------//总之:成员函数在调用时,编译看左边,运行看右边。// --------------------------------------------------2.在多态中成员同名变量的特点:(ps:不同名未考证)无论编译还是运行,都参考左边(引用型变量所属的类)3.在多态中静态成员函数的特点:无论编译还是运行,都参考左边(引用型变量所属的类)example:Class Fu { int num=1; public void method1(){ System.out.PRintln("fu_1");} public void method3(){ System.out.println("fu_3");}//静态方法(包括变量)不所属于对象,它绑定于所属的类,会在内存中提前加载出来public static void method4(){ System.out.println("fu_4");}}Class Zi extends Fu{ int num=2; public void method1(){ System.out.println("zi_1");} public void method2(){ System.out.println("zi_2");} public static void method4(){ System.out.println("zi_4");}}Class Duotaitest{ public static void main (String [] args) { Fu f=new Zi (); f.method1(); //f.method2(); 此行代码若存在,则编译失败,Fu类中没此方法 f.method3(); f.method4(); System.out.println(f.num); Zi z= new Zi(); System.out.println(z.num); }/* 运行结果: zi_1 fu_3 fu_4 //静态方法不能被子类重写覆盖,若想调用子类中的静态方法(一般没这么用的,只是面试会用到)Zi.method4(类名.方法名) 1 2*/

}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表