- class Base {
- public Base newInstance() {
- return new Base();
- }
- public Base newInstance2() {
- return new Base();
- }
- }
- class Test extends Base {
- // 返回值不同
- public Test newInstance() {
- return new Test();
- }
- // 返回值相同
- public Base newInstance2() {
- return new Test();
- }
- }
在JDK5.0以前,Override要求参数列表和返回值必须完全相同,否则编译不通过
而在JDK1.5以后,系统允许返回值和父类不同了,但必须是其子类才可以。