协回返回类型表示:在导出类中覆盖基类的方法,可以返回基类方法的返回类型的某种导出类。
看一下例子
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,所以编译器不会报错。因而也是一种合法的返回类型。