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

===============>>#1 票数:2

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

===============>>#2 票数:2 已采纳

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

super.toString();

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

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

和presto!

===============>>#3 票数:1

您需要调用子代的toString(),子代将在其中调用super.toString();。

===============>>#4 票数:1

您始终可以从子类中调用super.toString()来调用超类方法。 如果未显式调用“ super”,则将被称为“最后一个”替代版本,这称为多态

  ask by dabr david translate from so

未解决问题?本站智能推荐:

3回复

覆盖父类的方法

我看到人们一直在做的事情是: 我从未见过的人做的事情是: 这是因为我和所有错误的程序员挂在一起,还是有充分的理由呢?
4回复

arraylist中的子类元素不会在Java中使用重写方法

我有一个带有特定类(Piece)的ArrayList,我想从中选择带有子类(矿工和炸弹)的物品。 但是,当我选择一些项目时,它将使用超类(Piece)的方法,而不是其子类。 由于ArrayList<Pieces>将包含片段的几个子类对象,因此无法为ArrayList定义更具体
3回复

禁止子类覆盖Java方法

假设我在Java类中有一个方法,并且我不希望该类的任何子类能够覆盖该方法。 我能这样做吗?
2回复

覆盖子类中的方法

我正在尝试对Minecraft src进行一些改动。 我试图覆盖类中的方法,所以我不必编辑原始类。 在常规类中,我想改变这个方法: 所以在我的子类中我有这个代码: 根据我的理解,无论何时调用一个方法,它都应该被“重定向”以供子类处理? (告诉我,如果我错了) 如果
3回复

Java:处理覆盖方法中的语句

因此,我有基本的Class X和扩展它的ClassY。 我在X类中有很多方法,这些方法都在Y类中被覆盖,我想在这些方法之一中放置一些语句,即使这些方法被覆盖,它们也会被调用,而不必在Y类中放置任何额外的代码。 有什么办法吗?
1回复

为什么在main方法中没有检测到我的方法? [关闭]

我只是测试了一些继承,但似乎我的方法没有被调用,甚至没有被主方法看到。 它编译,但只是说文件中没有检测到方法。 我的代码出了什么问题?
3回复

子类中抽象类的更改方法

我在抽象类中创建了一个方法,即方法String toString() 这是我的抽象方法的一种方法,我的子类只需要使用此方法更改“ symboolconstante”。 我不知道如何在不再次在子类中创建整个方法的情况下执行此操作。
3回复

使用类方法在ArrayList中查找类似的整数

我需要遍历对象的ArrayList并查找对于多个对象具有相同值的变量。 如下例所示,我正在查看具有子类的ArrayList。 我想要做的就是找出房子或公寓是否与此示例代码共享相同的列表编号。 我尝试使用双循环,并使用方法(sameListingNum)增强循环,并且无法解决问题。 谢
4回复

强制类的子类仅覆盖Java中的某些函数

我说一堂课 我是从这堂课衍生出来的 现在,我想知道是否可以强制GeneralClass的子类仅覆盖一个方法,例如methodA ? 谢谢
2回复

从另一种方法中提取数组值

希望当前项目可读,请尽我所能对其进行编辑。 无论如何。 如何从DisplaySB数组中提取值并将其放入UserBooking数组中? 我需要执行此操作以总计留给教练的座位数。 错误在最后一个代码段内,特别是在最后两个数组上。