2013-06-24 3 views
1

У меня есть следующий класстипа возвращаемого значения, необходимый для перегруженного метода

class Stack { 
    Node top = null; 
    ... 
    public Node pop(){ 
     return this.top; 
    } 
} 

class MinStack extends Stack { 
    ... 
    public Node pop() { 
     super.pop(); 
    } 
} 

Компилятор говорит, что pop() в MinStack потребности типа возвращаемого Node. Разве это не реализовано super.pop()?

ответ

10

Вы не возвращаете его:

return super.pop(); 

Я предполагаю, что вы едете из более функционального фона; в Java, помещение чего-то в конце функции/метода не означает, что функция/метод возвращает значение.

+0

Большое спасибо! Очень полезно! – Zoe