JAVA重要基础之多态

JAVA三(四)大特性之多态

学完继承之后我们开始了多态的学习,作为JAVA基础特性之一这是很重要的基础,多态是继封装、继承之后,面向对象的第三大特性。在我看来Java作为面向对象的语言,同样可以描述一个事物的多种形态。如Student类继承了Person类,一个Student的对象便既是Student,又是Person。Java中多态的代码体现在一个子类对象(实现类对象)既可以给这个子类(实现类对象)引用变量赋值,又可以给这个子类(实现类对象)的父类(接口)变量赋值。我们知道,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了代码重用。

而多态除了代码的复用性外,还可以解决项目中紧偶合的问题,提高程序的可扩展性.。
举个例子:
电脑上的F1按键,当不打开任何文件点击F!显示的是系统的帮助文档,当打开word文档点击F1显示的是word文档的帮助,同一个按钮但是能实现不同的处理方式。

最终多态体现为父类引用变量可以指向子类对象。
多态的前提是必须有子父类关系或者类实现接口关系,否则无法完成多态。
在使用多态后的父类引用变量调用方法时,会调用子类重写后的方法。
调用方法时
写代码只能调用父类的方法,运行时运行子类的方法。

那我们就要思考,既然要赋给一个变量子类类型,为什么不直接声明成子类类型,而要声明成父类类型?
*因为变量的声明和赋值大多数时候不是同时进行的 *

我们要掌握好多态就要牢记prirate、protected、public的 区别
prirate:私有的,只有当前类中可以访问
默认的,同一个包可以访问
protected:受保护的,子类可以访问
public:公有的,所有类中都可以访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值