上一讲我们讲了多态——同一个方法调用,不同的子类对象会跑出不同的行为。这一讲要解决一个新问题:如果父类压根不知道子类该怎么实现某个方法,只想强制规定"你必须有这个方法",该怎么办?答案就是这一讲的主角:**抽象类(Abstract Class)**和**接口(Interface)**。 ## 为什么需要"只有规定、没有实现"的类 设想你在写一个图形计算程序,有圆形、矩形、三角形,它们都要算面积,但算法完全不同。如果写一个父类 `Shape`,里面塞一个 `area()` 方法,父类自己却不知道该怎么算——它既不是圆也不是矩形。这时候父类唯一能做的合理的事,就是把这个方法"留白",只规定方…