多态的成员特点(多态有哪些)

网友投稿 259 2022-06-16


⒈在多态中非静态成员函数的特点:

①在编译时期:参阅引用型变量所属的类中是否有调用方法。如果有,编译通过,否则编译失败;

②在运行时期:参阅对象所属的类中是否有调用的方法。

--------------------------------------------------

//总之:成员函数在调用时,编译看左边,运行看右边。//

--------------------------------------------------

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

*/

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:GacLib使用方法
下一篇:本地开发时同时启动多个tomcat服务器(tomcat多个项目使用同一端口)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~