gpt4 book ai didi

java - 理解 super 的概念吗?

转载 作者:行者123 更新时间:2023-12-01 23:12:24 25 4
gpt4 key购买 nike

我很难理解 super() 的概念。 Java教程给出了这个例子:

public class Superclass {
public void printMethod() {
System.out.println("Printed in Superclass.");
}
}

public class Subclass extends Superclass {
// overrides printMethod in Superclass
public void printMethod() {
super.printMethod();
System.out.println("Printed in Subclass");
}
public static void main(String[] args) {
Subclass s = new Subclass();
s.printMethod();
}
}

但是如果我要重写 printMethod,为什么我需要调用父类(super class)方法?为什么我不能在 printMethod() 的子类方法中编写任何内容然后继续?

最佳答案

完全没有必要调用super。如果需要,它只是帮助您调用父类(super class)方法中包含的逻辑。很多时候,您希望运行确切的逻辑,然后提供附加逻辑。

覆盖始终并不意味着提供全新的逻辑。有时您想提供一些细微的变化。例如,如果该方法返回一个值,则您可以调用父类(super class)方法并获取该值。然后,使用子类方法中的逻辑对该对象进行一些轻微的修改,并将其返回给调用者。

关于java - 理解 super 的概念吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21670525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com