gpt4 book ai didi

Java:嵌套类中的重复方法签名

转载 作者:行者123 更新时间:2023-12-04 20:16:20 26 4
gpt4 key购买 nike

希望这个问题还没有被问到。我环顾四周,但没有找到类似的帖子。

在 Java 中进行实验时,我注意到在嵌套类中没有对重复方法签名的限制,这似乎违反直觉。

例如,如果我创建的类 A 包含一个带有签名 int x() 的方法,然后添加一个包含相同方法的嵌套类 B,编译器似乎没有问题。我最初的假设是它会提示 x 已经定义。也许我遗漏了一些明显的东西来解释为什么允许这样做?

class A {
int x() {
return 1;
}

class B {
int x() {
return 2;
}
}
}

随后,是否有任何方法可以从类 B 的范围内访问类 A 的方法 x,或者它是否被本地范围的方法 x 永久隐藏?

编辑:我明白问题的核心与 this post 相同,但是,我更想了解为什么允许这种行为,因为我不是很清楚。

最佳答案

在哪里定义类并不重要。请记住,最后你有

class A { int x()

class A.B { int x()

两个(几乎)独立的类。我们在这里唯一的关系是 B 的任何实例都需要它所属的 A 的“封闭”实例(因为它是非静态内部类)。

当然,您可以从 B 中访问“封闭的”A“内容”,例如使用 A.this.x()

关于Java:嵌套类中的重复方法签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47303770/

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