一、抽象类与抽象方法抽象类用 abstract 关键字修饰它不能被直接实例化不能用 new 创建对象核心作用是作为父类让子类继承。抽象类里可以包含普通方法也可以包含抽象方法——也就是只有方法声明、没有方法体的方法比如定义一个 getArea() 方法只声明返回值和方法名不写具体实现。抽象方法必须被非抽象的子类重写子类继承抽象父类后必须实现所有抽象方法否则子类也得定义为抽象类。这就是“父类定规范子类来实现”的典型体现比如几何图形父类定义 getArea() 抽象方法矩形、圆形子类分别实现自己的面积计算逻辑。二、多态与数组应用多态的核心体现是“父类引用指向子类对象”比如 Geometry[] tuxing new Geometry[9]; 这个数组虽然类型是抽象父类 Geometry 但数组里的每个元素都可以存储它的子类对象比如 new Rect(16, 68) 、 new Circle(7) 。我们可以通过父类数组统一管理不同子类对象再通过循环调用重写后的 getArea() 方法就能计算所有图形的面积总和。这种方式把不同子类的公共行为统一起来不用为每个子类单独写一套计算逻辑大幅提升了代码的复用性和扩展性。三、接口与接口实现接口用 interface 关键字定义它是一种特殊的抽象类型里面的方法默认是 public abstract 的可以省略不写变量默认是 public static final 的。接口的核心特点是一个类可以实现多个接口弥补了 Java 单继承的局限实现类必须重写接口中所有的抽象方法否则会编译报错。比如定义 ComputerAverage 接口声明 average() 方法再让 SongGame 类和 School 类分别实现这个接口用不同的逻辑计算平均值 SongGame 先排序去掉最高分最低分再求平均 School 直接对所有成绩求平均。通过接口多态我们可以用 ComputerAverage 类型的引用调用不同实现类的 average() 方法得到不同的结果。四、super 关键字与方法重写super 关键字用来引用父类的内容常见用法有三种super.xxx 调用父类的成员变量super.方法名() 调用父类的成员方法super() 调用父类的构造方法必须写在子类构造方法的第一行。在方法重写中子类可以通过 super 调用父类的方法再在此基础上扩展逻辑。比如银行利息计算的例子父类 Bank 定义了 computerInterest() 方法计算整年利息子类 ConstructionBank 重写这个方法时先通过 super.computerInterest() 获取整年利息再额外计算零头天数的利息最后把两部分加起来既复用了父类的逻辑又实现了子类的扩展需求。五、继承与代码复用继承是面向对象的核心特性之一用 extends 关键字实现子类可以继承父类的非私有成员变量和成员方法避免重复代码。比如 ConstructionBank 和 BankOfDalian 都继承自 Bank 类直接复用父类的 savedMoney 、 interestRate 变量和 setInterestRate() 方法只需要重写自己的利息计算逻辑即可。同时Java 只支持单继承一个类只能有一个直接父类但可以通过实现多个接口来扩展功能这也是接口的重要作用之一。