我了解如果将超类方法声明为公共,则它们的概念将被覆盖。 但是,我想知道是否有一种方法可以调用超类的方法而不是子类的方法。 例如,超类下的toString将打印出某些数据字段,而子类下的toString将打印出另一组数据字段。 我想调用这两种方法。 有没有办法做到这一点?

===============>>#1 票数:2

从子类的方法(正在被覆盖)中,您可以调用super.toString()来调用super的版本,然后在下一个语句中调用子版本

===============>>#2 票数:2 已采纳

要从子类中调用超类的toString()方法,应调用

super.toString();

因此,如果您希望对象的toString()方法同时调用其超类的toString()方法,则可以这样做

String str = // whatever the toString() of this object is
return str + super.toString();

和presto!

===============>>#3 票数:1

您需要调用子代的toString(),子代将在其中调用super.toString();。

===============>>#4 票数:1

您始终可以从子类中调用super.toString()来调用超类方法。 如果未显式调用“ super”,则将被称为“最后一个”替代版本,这称为多态

  ask by dabr david translate from so

未解决问题?本站智能推荐: