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