猿问

为什么生成一个 静态内部类对象。不能用外部类对象直接生成?

请教一个问题。 为什么生成一个 静态内部类对象。不能用外部类对象直接生成?

标准的是这样的:Outer.Inner in = new Outer.Inner();
为什么不能这样:
Outer  out = new Outer();
Outer.Inner in = out.new Inner();

leo_huanyi
浏览 2381回答 1
1回答

hiColors

new static的内部类时,不需要先将外部类实例化,new一个对象时会在堆和栈同时开辟空间用来保存,static内部类不需要外部类实例化是因为static是全局的,JVM会给static单独开辟空间用来保存,所以外部类不需要实例化 。
随时随地看视频慕课网APP

相关分类

Java
我要回答