Java复习Day6

今日复习重点:继承与多态

继承机制 继承是面向对象编程中实现代码复用的重要机制,通过继承,子类可以共享父类的属性和方法。在已有类的基础上,可以扩展出新的类,并在新类中添加特定属性和方法,从而提高开发效率。继承关系通常表现为"is a"或"is a kind of"的关系,即子类是父类的一种特殊表现形式。

语法格式:

class 子类 extends 父类 {}

子类实例化过程

  1. 父类的构造方法不可被子类继承
  2. 子类构造方法中需调用父类构造方法
  3. 若父类存在无参构造方法,子类中的super()可省略,否则必须显式调用
  4. 使用super()显式调用父类构造方法时,必须置于子类构造方法的首行
  5. 子类构造方法中不可同时使用super()和this()

方法重写规范

  • 方法名必须一致
  • 参数列表必须相同
  • 访问修饰符的权限需大于或等于父类方法
  • 父类方法不可为private
  • 返回值类型需小于或等于父类方法

final关键字

  • 可用于定义类、方法和常量
  • 不可与abstract同时修饰类或方法
  • final方法支持重载

多态特性 多态表现为多种形态,其实现需满足三个条件:

  1. 存在继承关系
  2. 存在方法重写
  3. 父类引用指向子类对象

优势:

  • 简化代码结构
  • 实现面向接口编程,而非具体实现
  • 易于扩展,提升代码可读性

里氏代换原则

  • 父类出现的位置,子类均可替代
  • 子类出现的位置,父类未必适用

类型转换 向上转型:

父类类型 对象名 = new 子类类型();

  • 编译时看左边,运行时看右边
  • 属性调用看左边

向下转型:

子类类型 对象名 = (子类类型)父类引用;

  • 仅可强制转换父类引用
  • 强制转换父类对象编译可通过,但运行时报错
  • 转换前提:父类引用必须是经过向上转型的对象

instanceof运算符 用于判断对象是否属于某个类(或其父类),返回布尔值:

  • 属于则返回true
  • 不属于则返回false

方法重写限制 必须重写的方法:abstract修饰的抽象方法 不可重写的方法:private、final、static修饰的方法及构造方法

你可能感兴趣的:(java,开发语言)