图灵学院Java开发笔记

第2章 Java面向对象编程

18_一个案例了解多态的实际意义

多态的分类:特定的(强制的,重载的)、通用的(参数的,包含的)

(3)参数的多态
参数多态允许把许多类型抽象成单一的表示。例如,在一个名为List的抽象类中,描述了一组具有同样特征的对象,提供
了一个通用的模板。我们可通过制定一种类型以重用这个抽象类。这些参数可以是用户定义的类型,很多用户都可以使用
这个抽象类,因此参数多态毫无疑问称为最强大的多态

多态的意义在于:可以屏蔽不同子类差异性编写通用的代码,从而产生不同的效果

案例:
	形状:横坐标、纵坐标
	矩形:长度、宽度

	写一个方法既能打印矩形又能打印圆形

TestShape.java

public static void draw(Shape s){
   
	//在编译阶段调用Shape类的show()方法,在运行阶段调用子类重写的show()方法
	//虽然看似调用同一个show()方法,但是根据实参的不同最终调用不同的版本带来不同的结果
	s.show();
}

public static void main(String[] args){
   
	Rect r = new Rect(1,2,3,4);//矩形,Rect为Shape子类
	TestShape.draw(r);//不同的参数将会调用不同子类中的show方法
	Circle c = new Circle(5,6,7);//圆形,Circle为Shape子类
	TestShape.draw(c);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值