目录 前言 第二十一章 多态 21.1 多态的常见形式 21.2 多态中成员访问特点(重点) 21.3 多态的前提 21.4 多态的特点 21.5 多态下引用数据类型的类型转换 21.5.1 自动类型转换(从子到父) 21.5.2 强制类型转换(从父到子) 【多态案例】模拟连接USB设备 前言 该文章为Java基础自学笔记 其他内容:Java基础学习笔记目录 学习用书: 《Java核心技术 卷Ⅰ 基础知识(第10版)》 《Java经典编程300例》 第二十一章 多态 面向对象的三大特征:封装、继承、多态 同类型的对象,执行同一个行为,会表现出不同的行为特征 21.1 多态的常见形式 父类类型 对象名称 = new 子类构造器; 接口 对象名称 = new 实现类构造器; 21.2 多态中成员访问特点(重点) public abstract class Animal { public String name = "父类——动物"; public abstract void eat(); } class Dog extends Animal { public String name = "子类——狗"; @Override public void eat() { System.out.println("狗吃骨头");} } 方法调用: 编译看左边,运行看右边 Animal animal = new Dog(); animal.eat(); // 运行结果:狗吃骨头 变量调用: 编译看左边,运行看左边(多态侧重行为多态) Animal animal = new Dog(); System.out.println(animal.name); // 运行结果:父类——动物 21.3 多态的前提 有继承/实现关系 有父类引用指向子类对象 有方法重写 21.4 多态的特点 在多态形式下,右边对象可以实现解耦合,便于扩展和维护 Animal animal = new Dog(); animal.eat();<