Код: Выделить всё
public abstract class Person {
public abstract Person getPerson(Person p);
}
< /code>
Я заметил, что подкласс может использовать себя для типа возврата, но не параметр при переоценке этого метода: < /p>
public class Child extends Person {
@Override
public Child getPerson(Person p) { //Works fine
return this;
}
@Override
public Person getPerson(Child p) { //Doesn't work
return this;
}
}
< /code>
Почему это не разрешено? Я не прошу решения - я знаю, что мог бы просто использовать экземпляр Подробнее здесь: https://stackoverflow.com/questions/676 ... but-not-su