Class parent {
protected void myMethod() {
if(someCodition) {
//return this as well as child's myMethod.
}
}
Class child extends Parent {
@override
protected void myMethod() {
super.myMethod();
//code below this line should not execute if someCondition.
//want parent to handle all this
}
}
Пожалуйста, не предлагайте взять некоторый булев флаг в родительском классе и проверить его в дочернем. на самом деле дочерний класс будет использоваться другими разработчиками, и я не хочу, чтобы они заботились о любом таком состоянии, поэтому захотите выйти из самого родителя.Как вернуть дочерний метод из его родительского метода?
Я полностью осознаю, что это нарушение принципа абстракции oops, но его моя необходимость нарушать.
Обновление
PS: позвонить MyMethod() не в любом ребенка или родителя контроля, поэтому не может создать отдельный метод, как указано в одном ответе. Фактически это и метод API, поэтому система выполнит его автоматически по мере необходимости, и я не могу прекратить его называть.
Упрощенный конкретный пример - и синтаксически правильный код - увеличит ваши шансы получить удовлетворительный ответ. –