繁体   English   中英

Java中的非覆盖方法?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM