有3个可以通过编译。
第二个不行吧Foo doStuff(int x) { return new SuperFoo(); }
你定义一个返回类型为Foo对象的方法,在方法体中确返回一个SuperFoo的父类对象。
第一个和第三个是可以编译通过的
Foo doStuff(int x) { return new Foo(); }
SuperFoo doStuff(int x) { return new Foo(); }
第二个和第四个是错误的
Foo doStuff(int x) { return new SuperFoo(); }
SuperFoo doStuff(int y) { return new SuperFoo(); }
错误的原因,简单--》(类型不匹配)
Foo doStuff(int x) { return new Foo(); }
SuperFoo doStuff(int x) { return new Foo(); }
SuperFoo doStuff(int y) { return new SuperFoo(); }
3个吧
3个, 只有第二个不可以...
拿去myeclipse试试就知道了