多态的总结

本文详细解析了面向对象编程中的多态特性,探讨了其实现的三个必要条件:继承或实现、方法重写及父类引用指向子类对象。同时,文章还深入讨论了多态中成员变量和成员方法的不同表现,并解释了这些现象背后的原因。

多态

多态是继封装,继承之后,面向对象的第三大特性.

三个条件

  1. 有继承或者实现(二选一)
  2. 方法的重写
  3. 父类引用指向子类对象

最终体现形式

//父类引用指向子类对象:
Fu f = new Zi();

多态中的成员特点

  • 成员变量 : 编译看左边,运行也看左边;
  • 成员方法 : 编译看左边,运行看右边.

原因 :

  1. 编译期间,编译器只认识左边 ,因为不知道创建的具体是什么对象.所以,只能看父类的.
  2. 运行期间,因为有方法的重写,所以对于方法来说,动态绑定.创建的是哪个子类,运行的就是哪个子类的方法.但是,成员变量没有重写的概念,所以,还是只能看左边的父类.

补充

  • java编译器把java源码编译成字节码 (.class文件).
  • jvm是在运行期将class文件编译成机器码文件.供程序运行.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值