class Outer {
class Inner {
void print() {
System.out.println("Inner printing");
}
}
public static void main(String[] args) {
(new Outer().new Inner()).print();
}
}
有没有大佬解释一下(new Outer().new Inner()
这个步骤具体发生了些什么内容呢?
1
ysc3839 2022-11-17 19:09:29 +08:00
我不懂 Java ,猜测 Inner 是可以用 Outer 里的变量的,所以要在一个 Outer 实例上 new Inner 。
|
2
westoy 2022-11-17 19:10:37 +08:00
镶嵌类, 本质就是
Outer class_ = new Outer(); Outer.Inner inner = class_.new Inner(); inner.print(); |
3
biubiuF 2022-11-17 19:11:27 +08:00
返回了一个类的内部类对象
|
5
yty2012g 2022-11-17 19:17:25 +08:00
实例化内部非静态类
|
6
mango88 2022-11-17 19:18:19 +08:00
看一下 内部类 相关的概念定义呗
|
8
yuanmomo 2022-11-17 19:27:22 +08:00
我觉得你在监控我,前天我刚看到新公司的代码,然后问了我朋友,今天你就来。
|
9
XXWHCA 2022-11-18 13:38:20 +08:00
实例话非静态内部类之前需要先实例化它的外部类对象,非静态内部类的会有一个默认的构造方法,参数就是外部类对象。
|
10
fiveStarLaoliang 2022-11-18 15:33:12 +08:00
你的内部类非 static, 如果是 static 的就可以 new Out.Inner() 直接 new 出来了
|
11
e7 2022-11-18 16:22:43 +08:00
一般用于拆类吧,内部类不能独立存在
|