[英]Un-overriding methods in java?
我了解如果将超类方法声明为公共,则它们的概念将被覆盖。 但是,我想知道是否有一种方法可以调用超类的方法而不是子类的方法。 例如,超类下的toString
将打印出某些数据字段,而子类下的toString
将打印出另一组数据字段。 我想调用这两种方法。 有没有办法做到这一点?
从子类的方法(正在被覆盖)中,您可以调用super.toString()
来调用super的版本,然后在下一个语句中调用子版本
要从子类中调用超类的toString()方法,应调用
super.toString();
因此,如果您希望对象的toString()
方法同时调用其超类的toString()
方法,则可以这样做
String str = // whatever the toString() of this object is
return str + super.toString();
和presto!
您需要调用子代的toString(),子代将在其中调用super.toString();。
您始终可以从子类中调用super.toString()来调用超类方法。 如果未显式调用“ super”,则将被称为“最后一个”替代版本,这称为多态 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.