gpt4 book ai didi

java - 从不同的类调用内部类成员

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

如果这个问题很愚蠢,请原谅我,因为我是 JAVA 程序的新手。我正在研究嵌套类的概念并遇到以下程序。

// Demonstrate an inner class.
class Outer {
int outer_x = 100;
void test() {
Inner inner = new Inner();
inner.display();
}
// this is an inner class
class Inner {
void display() {
System.out.println("Display: outer_x = " + outer_x);
}
}
}
class NestedClass {
public static void main(String args[]) {
Outer outer = new Outer();
outer.test();

// Inner inner = new Outer().Inner();
// inner.display();
}
}

我的疑问是如何从 NestedClass 访问 Inner 类的成员。在“Java - The complete reference”中,给出了 “但是,您可以在
Outer 通过使用 Outer 限定其名称,如 Outer.Inner"
。但如果我尝试将其用作,

        Inner inner = new Outer().Inner();
inner.display();

这是抛出错误。所以请高手帮帮我。

最佳答案

您需要使用 new 关键字创建一个新的 Inner 实例。

Inner inner = new Outer().new Inner(); // "new" keyword is required to create a new Inner instance.

如果您没有添加 import com.java.test.Outer.Inner; 的导入,请添加它。或者,你可以做这样的事情

Outer.Inner inner = new Outer().new Inner();

关于java - 从不同的类调用内部类成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20536927/

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