gpt4 book ai didi

java - 内部/外部类 obj.new

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:49:18 26 4
gpt4 key购买 nike

这是在类外调用成员内部类的例子。

//Program of memeber inner class that is invoked outside a class

class Outer {
private int data=10;

class Inner {
void msg() {
System.out.println("Data: " + data);
}
}
}

class Test {
public static void main(String args[]) {
Outer obj=new Outer();
Outer.Inner in = obj.new Inner();
in.msg();
}
}

谁能解释一下这行代码:Outer.Inner in = obj.new Iner(); obj.new Inner() 是什么意思?

最佳答案

了解 OuterInner 是相关的很重要。更具体地说,您需要一个Outer实例来创建一个Inner实例。

Outer.Inner in = obj.new Inner();

obj 创建一个 Inner 实例,一个 Outer 实例。你可以看到这两者是相关的,因为 inmsg() 方法将使用 objdata 字段:in 使用obj 的状态。如果 Innerstatic 它就不会与 Outer 有任何关系,所以你可以只使用

Outer.Inner in = new Outer.Inner();  // no Outer instance needed

当然,在您的情况下,您不能简单地将 Inner 设为静态,因为它使用 data 字段。

关于java - 内部/外部类 obj.new,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18219366/

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