java中的重写方法?

时间:2013-04-16 03:56:05

标签: java class methods subclass method-overriding

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

4 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

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

super.toString();

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

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

并且presto!

答案 2 :(得分:1)

你需要调用childe的toString(), 孩子将调用super.toString();

答案 3 :(得分:1)

您始终可以从子类调用super.toString()来调用超类方法。如果没有明确地使用“超级”调用,您将调用“最后”被覆盖的版本,这称为polymorphism