gpt4 book ai didi

Java嵌套类: Instantiating inner class from outer class

转载 作者:行者123 更新时间:2023-12-02 09:23:33 26 4
gpt4 key购买 nike

在 Java 中实例化内部类时,为什么需要创建对其的新引用?在第一个示例代码中,对 Inner 进行了引用,然后使用该引用尝试实例化类 Inner() ,但这不起作用,但在第二个示例代码中(仍然对 Inner 进行了引用),实例化类 Inner() 的成功是因为使用了“Inner inner”而不是“inner”。所以根据我(菜鸟)的理解,必须做出新的引用?

public class Outer{
Inner inner;
private class Inner{}
public static void main(String[] args){
Outer outer = new Outer;
inner = outer.new Inner(); // doesn't work (only difference in code)
}
}
public class Outer{
Inner inner;
private class Inner{}
public static void main(String[] args){
Outer outer = new Outer;
Inner inner = outer.new Inner(); // works (only difference in code)
}
}

最佳答案

在第一个示例中,实例 inner 必须声明为 static 才能在另一个静态上下文中使用。

在后者中,全局变量 inner 未使用,因为局部声明和初始化优先。

关于Java嵌套类: Instantiating inner class from outer class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58496815/

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