JAVA:多态基础知识

本文介绍了多态的概念,即一个对象能表现出多种形态,它基于继承关系。多态分为编译时多态和运行时多态。编译时多态主要通过方法重载实现,而运行时多态则涉及到动态绑定,允许在运行时根据对象的实际类型调用相应的方法。多态带来的好处是提高了代码的扩展性和通用性。例如,Person类型的引用p可以指向Student对象,调用study()方法时,实际执行的是Student类中的版本。
摘要由CSDN通过智能技术生成

仅作为个人学习记录~

多态:一个对象具有多种形态。通常指的是运行时多态。

存在的前提:必须有继承关系

多态的种类:编译时多态、运行时多态

在区分多态的两种不同类型之前有必要先了解编译类型和运行类型的概念。编译类型是指在声明变量时所使用的类型(赋值式左边),运行类型是由实际赋给该变量的对象所决定的(赋值式右边)。如Person p=new Student;p.study();引用变量p的编译类型就是Person,运行类型就是Student。当编译类型和运行类型不一致时,就出现所谓的多态。JAVA在编译过程中,会自动检查引用变量p的编译类型,也就是Person类中是否包含study()方法,如果没有,则编译过程就会报错(若study是静态方法,则编译和运行都会调用父类中的方法,无论子类是否覆盖);当Person类中有study()方法,但是在实际JVM运行当中,如果子类Student类中覆盖了study()方法,所以在实际运行中,调用的是子类的study()方法。这种在运行时才能确定执行多态方法中的哪一个就叫做运行时多态。同理,在编译时就能确定运行多态方法中的哪一个就叫编译时多态。典型的编译多态包括方法重载。

多态的好处:使程序具有良好的扩展性,并可以对所有类对象进行通用的处理。

今天也要努力鸭~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值