第八章 多态

本文深入探讨了Java中的多态特性,重点解释了静态方法、final方法、私有方法、域与静态方法的绑定过程以及构造器调用顺序。同时,介绍了协变返回类型的概念和如何在继承中表达行为差异与状态变化。此外,阐述了向下转型与运行时类型识别的原理,以及转型失败时的异常处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 转机:

    前期绑定、后期绑定

    除了static方法和finalprivate方法属于final方法)方法之外,其他所有方法都是后期绑定

    编译时,编译器不需要获得任何特殊信息就能进行正确的调用

    缺陷:“覆盖私有方法”

    只有非“private”方法才可以被覆盖

    缺陷:域与静态方法

    只有方法是多态的,当域是public时(导出类企图覆盖时),向上转型调用域会得到基类中的版本

    静态方法是与类,而非与单个对象相关联的

    构造器的调用顺序、构造器内部的多态方法的行为:

    1. 在其他仍和事物发生之前,将分配给对象的储存空间初始化成二进制的零
    2. 调用基类构造器
    3. 按声明顺序调用成员的初始化方法
    4. 调用导出类构造器的主体

    构造器:用尽可能简单的方法是对象进入正确状态;如果可以的话,避免调用其他方法

    可以调用final方法

    协变返回类型:

    导出类中的被覆盖方法可以返回基类方法的返回类型的某种导出类型

    重要 用继承表达行为间的差异,并用字段表达状态上的变化

    向下转型与运行时类型识别:

    is-like-a"

    (导出类)向上转型的引用.导出类扩展的方法

    转型失败抛出ClassCastException(类转型异常)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值