Я понимаю концепцию переопределения методов суперкласса, если они объявлены публичными. Тем не менее, я хотел бы знать, есть ли способ вызвать метод superclass вместо метода subclass. Например, toString
под суперклассом выведет определенные поля данных, а toString
под подкласс распечатает другой набор полей данных. Я хочу использовать оба метода. Есть ли способ сделать это?Un-overriding методы в java?
0
A
ответ
2
Для вызова метода суперкласса в ToString() из подкласса, вы могли бы назвать
super.toString();
Так что, если вы хотите toString()
метода объекта для вызова toString()
метода суперкласса в то же время, вы могли бы сделать
String str = // whatever the toString() of this object is
return str + super.toString();
И престо!
2
от метода дочернего класса (который в настоящее время перекрываться) вы можете позвонить super.toString()
назвать версию супер, а затем на последующих заявлениях дочерних версий
1
вам нужно позвонить toString() childe, , где ребенок вызовет super.toString();
1
Вы всегда можете вызвать super.toString() из своего подкласса, чтобы вызвать метод суперкласса. Вы получите вызов «последней» переопределенной версии, если не вызывать «супер» явно, это называется polymorphism.
Если вы запрашиваете поле экземпляра, вы не можете ... Только из самого метода дочернего класса вы можете это сделать. – Thihara