多态的成员特点

2018-07-20    来源:编程学习网

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

⒈在多态中非静态成员函数的特点:
①在编译时期:参阅引用型变量所属的类中是否有调用方法。如果有,编译通过,否则编译失败;
②在运行时期:参阅对象所属的类中是否有调用的方法。
--------------------------------------------------
//总之:成员函数在调用时,编译看左边,运行看右边。//
--------------------------------------------------
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
*/

}

标签: 代码

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:如何在Android Studio项目中导入开源库

下一篇:Java 2014:10个最热门、最具争议性的话题