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