1.什么是继承和多态。
特性 | 继承 | 多态 |
---|---|---|
核心目的 | 复用代码,构建层次结构 | 统一接口,多样化实现 |
操作对象 | 类与类的关系 | 方法与对象的关系 |
关键语法 | extends 关键字 | 父类引用 = new 子类对象() |
继承是面向对象编程中代码重用的一种重要机制,在 Java 中通过extends
关键字来实现继承,子类可以直接使用父类中已定义好的属性和方法,还可以添加自己特有的属性和方法,实现功能的扩展。继续也具备传递性,如果类 C 继承自类 B,类 B 继承自类 A,那么类 C 不仅继承了类 B 的属性和方法,也间接继承了类 A 的属性和方法。
多态是指同一个操作在不同对象上可以表现出不同的行为。例如,同样是 “发声” 这个操作,“狗” 类的对象调用会发出 “汪汪” 声,“猫” 类的对象调用会发出 “喵喵” 声。多态实现方式有两种:
-
运行时多态:基于方法重写(Override),通过父类引用调用子类对象,比如,父类
Animal
中有void sound()
方法,子类Dog
重写这个方法后实现自己特有的 “汪汪” 叫的声音。 -
编译时多态:方法重载(Overload),同一类中有同名不同参数的方法,例如,一个
Calculator
类中可以有add(int a, int b)
和add(double a, double b)
等方法。