欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java 多态实例代码

程序员文章站 2023-12-20 12:42:52
多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作。 多态性是对象多种表现形式的体现,比如: 在现实中,我们按下f1键这...

多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作。

多态性是对象多种表现形式的体现,比如:

在现实中,我们按下f1键这个动作:

如果当前在flash界面下弹出的就是as 3的帮助文档
如果当前在word下弹出的就是word帮助
在windows下弹出的就是windows帮助和支持

多态存在的三个必要条件

继承
重写
父类引用指向子类对象

parent p = new child();

当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。

例题

package wangyi;
class base
{
	public void method()
	  {
		system.out.println("base");
	}
}
class son extends base
{
	public void method()
	  {
		system.out.println("son");
	}
	public void methodb()
	  {
		system.out.println("sonb");
	}
}
public class test01
{
	public static void main(string[] args)
	  {
		base base = new son();
		base.method();
		base.methodb();
	}
}

问这个程序的输出结果。(d)

a. base sonb
b. son sonb
c. base son sonb
d.编译不通过
解释:
base base=new son(); 是多态的表示形式。父类对象调用了子类创建了son对象。
base调用的method()方法就是调用了子类重写的method()方法。
而此时base还是属于base对象,base调用methodb()时base对象里没有这个方法,所以编译不通过。
要想调用的话需要先通过son son=(son)base;强制转换,然后用son.methodb()调用。

总结

以上就是本文关于java 多态实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

上一篇:

下一篇: