java的多态

一、多态是什么?

多态是同一个行为具有多个不同表现形式或形态的能力,就是用一个接口,使用不同的实例而执行不同的操作。
例如 我们在word文件中使用打印功能 :
1 .接口为彩色打印机时打印出来的效果是彩色的。
2.接口为黑白打印机时打印出来的效果是黑白的。

二、多态的实现

多态的存在条件

存在父类型和子类型,父类型的引用指向子类实例对象,子类重写父类方法,不同的子类对父类的同一方法给出不同的实现。

多态的程序实例

设计一个程序要实现人们展示武术的方法,由于每个人掌握的武术是不同的,所以不同人调用展示武术的方法时输出结果也不同。
下面通过一个程序来演示:

abstract class human{
	public abstract void kongfu(); 
}
class mabaoguo extends human{
	public void kongfu() {
		System.out.println("混元形意太极拳,闪电五连鞭");
	}
}
class nianqingren extends human{
	public void kongfu() {
		System.out.println("左正蹬,右鞭腿,左刺拳");
	}
}
public class Duotai{
	public static void main(String[]args) {
		human mabaoguo=new mabaoguo();
		human nianqingren=new nianqingren();
		
		mabaoguo.kongfu();
		nianqingren.kongfu();
	}
}

父类human引用了不同的子类对象mabaoguo和nianqingren,调用kongfu()方法时输出了不同的结果。

三、多态的特点

多态的优点:

  1. 消除类型之间的耦合关系
  2. 可替换性
  3. 可扩充性
  4. 接口性
  5. 灵活性
  6. 简化性

多态存在的三个必要条件:

继承

class mabaoguo extends human

重写

public void kongfu() {
		System.out.println("混元形意太极拳,闪电五连鞭");
		
		
public void kongfu() {
		System.out.println("左正蹬,右鞭腿,左刺拳");
	}

父类引用指向子类对象

human a=new mabaoguo();
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值