Проблема с тем же именем метода в родительском как расширенный класс - PullRequest
4 голосов
/ 08 марта 2011

У меня есть родительский класс и расширенный класс, оба содержат метод toString().

Как мне вызвать метод toString() родительского класса из приложения Test?

Прямо сейчас, чтобы вызвать метод toString расширенного класса, это objectname.toString(), но как насчет родительского класса?

Заранее спасибо за помощь.

Ответы [ 3 ]

12 голосов
/ 08 марта 2011

Вы не можете.Это называется полиморфизмом, и это все, что такое ООП.Подкласс toString переопределяет (переопределяет) родительский метод toString.

Если вы хотите иметь возможность вызывать родительский, вам нужно добавить другой метод с другим именем:

@Override
public String toString() {
    // redefine the toString method
}

public String parentToString() {
    return super.toString();
}
5 голосов
/ 08 марта 2011

Он должен вызываться следующим образом

class Child extends Parent{

    public String toString()
    {
       String superToString =  super.toString();
       // do something with superToString

       return someString;
    }

}

, если вы просто собираетесь вернуть super.toString (), тогда нет необходимости переопределять toString () в дочернем классе.

0 голосов
/ 04 мая 2011

с помощью ключевого слова super вы можете получить доступ к методу родительского класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...