У меня есть два класса Java: B, который расширяет другой класс A, следующим образом:
class A {
public void myMethod() { /* ... */ }
}
class B extends A {
public void myMethod() { /* Another code */ }
}
Я хотел бы позвонить A.myMethod()
от B.myMethod()
. Я из мира C ++ , и я не знаю, как сделать эту базовую вещь в Java.
java
inheritance
methods
polymorphism
Creasixtine
источник
источник
Просто позвоните, используя супер.
источник
Ответ таков:
источник
super.MyMethod()
следует назвать внутриMyMethod()
изclass B
. Так и должно бытьисточник
вызовите super.myMethod ();
источник
Я уверен, что вы можете сделать это с помощью механизма Java Reflection. Это не так просто, как использование супер, но дает вам больше силы.
источник
Используйте супер ключевое слово.
источник
вызовите базовые методы с ключевым словом super и передайте соответствующие параметры.
источник
источник
Видите, здесь вы переопределяете один из методов базового класса, поэтому, если вы хотите вызывать метод базового класса из унаследованного класса, вам придется использовать ключевое слово super в том же методе унаследованного класса.
источник
Если вы используете эти методы для инициализации, используйте конструкторы класса A и передайте ключевое слово super внутри конструктора класса B.
Или, если вы хотите вызвать метод суперкласса из метода подкласса, вам нужно использовать ключевое слово super внутри метода подкласса, например: super.myMethod ();
источник
источник