在 Java 中,**方法重写(Override)的返回类型必须兼容**: 1. **基本类型/void**:必须完全相同(如 `int` 不能改成 `long`)。 2. **引用类型**:子类方法的返回类型可以是父类方法返回类型的**子类**(**协变返回类型**,Java 5+ 支持)。 ### 示例:协变返回类型 ```java class Animal { Animal get() { return new Animal(); } } class Dog extends Animal { @Override Dog get() { return new Dog(); } // 合法:Dog 是 Animal 的子类 } ``` **一句话总结**:重写时返回类型必须相同或是父类返回类型的子类(协变)。