gpt4 book ai didi

java - 不改变代码调用父类方法

转载 作者:行者123 更新时间:2023-12-02 00:41:53 26 4
gpt4 key购买 nike

考虑下面的代码片段。

class X {
public String toString() {
return "Hi";
}
}

public class Main {
public static void main(String[] args) {
Object obj = new X();
System.out.println(obj.toString());
}
}

现在如何在不更改代码的情况下调用 Object 类中的 toString() ?或者我问的是不可能的?

最佳答案

从外部看,你不能——这会违反封装。 (想象一下 toString() 实际上是一种改变对象状态的方法,并且子类想要强制执行一些约束 - 您不应该能够跳过这些约束。)您可以从在 X 本身内,例如

public String toString() {
return super.toString() + "Hi";
}

关于java - 不改变代码调用父类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6136701/

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