协回返回类型表示:在导出类中覆盖基类的方法,可以返回基类方法的返回类型的某种导出类。
看一下例子class zoo { }class animal { zoo speak() { return new zoo(); }}class tiger extends zoo { }class panda extends animal { @Override tiger speak() { return new tiger(); }}
panda继承了animal,并且重写了speak()方法,父类的speak()方法的返回值类型是zoo,而子类重写speak()方法的返回值却是tiger,因为tiger继承了zoo,所以编译器不会报错。因而也是一种合法的返回类型。