0

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

4

4 回答 4

2

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

于 2013-04-16T03:59:42.127 回答
2

要从子类中调用超类的 toString() 方法,您可以调用

super.toString();

所以如果你想让一个对象的toString()方法同时调用它的超类的toString()方法,你会这样做

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

快!

于 2013-04-16T04:00:38.527 回答
1

你需要调用 childe 的 toString(),child 会调用 super.toString();

于 2013-04-16T04:00:49.223 回答
1

您始终可以从子类调用 super.toString() 来调用超类方法。如果没有显式调用“super”,您将调用“last”覆盖版本,这称为polymorphism

于 2013-04-16T04:10:34.347 回答