跳转至

继承、接口与多态

继承用 extends 表示“是一种”;接口用 implements 描述可提供的能力。Java 类只能直接继承一个类,但可以实现多个接口。

interface Printable {
    String format();
}

class Invoice implements Printable {
    public String format() {
        return "invoice";
    }
}

static void print(Printable value) {
    System.out.println(value.format());
}

print 依赖接口而非 Invoice 的具体类型,因此未来可传入其他实现。这就是多态:同一接口引用在运行时调用实际对象的实现。

只有确实存在稳定的“is-a”关系才使用继承。复用代码时,组合(把另一个对象作为字段)通常比深层继承更灵活。重写父类方法时使用 @Override,让编译器帮助检查签名。

参考

评论