Ответ 1
Вы можете сделать:
super.alphaMethod1();
Обратите внимание, что super
является ссылкой на родителя, но super() является конструктором.
Предположим, что у меня есть следующие два класса
public class alpha {
public alpha(){
//some logic
}
public void alphaMethod1(){
//some logic
}
}
public class beta extends alpha {
public beta(){
//some logic
}
public void alphaMethod1(){
//some logic
}
}
Если я инициирую новый объект типа бета, как я могу выполнить логику alphamethod1
, найденную в классе alpha, а не в бета-версии? Могу ли я просто использовать super().alphaMethod1()
< - Интересно, возможно ли это.
Вы можете сделать:
super.alphaMethod1();
Обратите внимание, что super
является ссылкой на родителя, но super() является конструктором.
Просто используйте super.alphaMethod1();
Смотрите супер ключевое слово в java
Вы не можете вызвать alpha alphaMethod1() с помощью бета-объекта. Но у вас есть два решения...
решение 1: вызывать альфа альфаМетод1() из бета alphaMethod1() или из любого другого метода бета (super.alphaMethod1(), как это)
решение 2: создать альфа-объект и вызвать альфа-альфа-метод1()
Можно использовать супер, чтобы вызвать метод из класса mother, но это означало бы, что у вас, вероятно, есть проблема с дизайном.
Возможно, B.alphaMethod1()
не должен переопределять метод A и называться B.betaMethod1()
.
Если это зависит от ситуации, вы можете поместить некоторую логику кода, например:
public void alphaMethod1(){
if (something) {
super.alphaMethod1();
return;
}
// Rest of the code for other situations
}
Таким образом, он будет вызывать метод только тогда, когда это необходимо, и останется невидимым для пользователя класса.
Всякий раз, когда вы создаете дочерний объект класса, у этого объекта есть все функции родительского класса. Здесь Super() является помощником для родительского элемента.
Если вы напишете super(), в это время вызывается родительский конструктор по умолчанию. такой же если вы напишете super.
это ключевое слово ссылается на текущий объект, такой же, как и на доступ к родительским словам, для обеспечения доступа к родителям.