JAVA多态性

本文详细介绍了JAVA中的多态性概念,包括方法多态和对象多态,重点讲解了对象的向上和向下类型转换。多态性是面向对象编程的重要特性,通过实例解析了如何在继承基础上实现多态,探讨了向上类型转换的优势和向下类型转换的必要性,以及在实际编程中如何避免错误转换导致的问题。
摘要由CSDN通过智能技术生成

面向对象的三大特性:封装、继承、多态。前两者都比较好理解,只有多态会比较难以理解一些。很早之前在初学java时使用了《码农翻身》中的有趣的例子,对多态进行过一些总结,写过一篇博客。但每学习一次就会有一次收获。现在根据再次的复习所学,加上自己的理解进行总结。

一:多态的概念

多态就是根据对象的不同而对同一消息所做的不同反应。
实际上,多态性的实现是在继承的基础上进行的。

二:多态的体现

多态性体现在两方面:方法的多态和对象的多态
1:方法的多态性
根据多态的概念,可以解释为:根据调用方法时传入的参数的不同,而调用不同的方法,继而做出不同的反应,就称为方法的多态。方法的多态可以分为两种:
1):方法的重载:(OverLoad)
重载是在同一个类中重复的进行定义相同的方法名称。但是方法的参数个数,类型,以及返回值等不作统一的要求。而多态性的体现在于:外界在调用方法时传入的参数不同最后调用的具体方法不同。

class Ball{
   
	public void play(){
   
		System.out.println("在玩Ball");
	}
	public void play(String player){
   
		System.out.println(player + "在玩Ball");
	}
}

2):方法的覆写:(OverRide)
覆写就涉及到了继承关系,在有继承关系的父子两个类中,子类根据自身的特殊的需要重新定义了父类中的方法。因此覆写发生在子类中
要求也和重载不同,覆写的方法他的方法名,返回类型,参数都要相同,访问权限的控制程度也不得超过父类的。

class Ball{
   
	public void play(){
   
		System.out.println("在玩Ball");
	}
}
class BasketBall extends Ball{
   
	public void play(){
   
		System.out.println("在玩篮球")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值