gpt4 book ai didi

java - 为什么这个语法在 Java 中有效?

转载 作者:行者123 更新时间:2023-11-29 08:09:44 25 4
gpt4 key购买 nike

取自here ,为什么这个语法有效:

class X {
class Y {
Y(T a, Z b) {...}
}

public static void main(String... args) {
// why is this valid? the second new looks confusing to me
X<String>.Y<String> x1 = new X<String>().new Y<String>("",""); //ok
}
}

这种语法 (new Foo().new Bar()) 从什么时候开始有效?

最佳答案

Since Java 1.1, apparently (感谢@emory)。

“Y”类是非静态的,nested (inner) class类“X”。因此,类“Y”的任何实例都必须从类“X”的“外部”实例构造。

另请参阅这篇很好地描述嵌套类的文章:http://blogs.oracle.com/darcy/entry/nested_inner_member_and_top

关于java - 为什么这个语法在 Java 中有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8824877/

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