有没有办法在 Java 中定义独立的内部类?
注意:我不需要像 C# 中的“部分”类,我需要完整的类,而是内部类。
有没有计划在未来的 Java 中引入这种语法?
package tests.java;
public class Try_InnerClassStandalone_01 {
public static void main(String[] args) {
Outer O1 = new Outer(12);
Outer O2 = new Outer(13);
Outer.Inner i1 = O1.new Inner();
System.out.println(i1.getData());
InnerExt i2 = O1.new InnerExt();
System.out.println(i2.getData());
}
}
class Outer {
class Inner {
int getData() {
return data;
}
}
public int data;
public Outer(int data) {
this.data = data;
}
}
class InnerExt extends Outer.Inner {
}
更新
我知道静态和非静态内部类有什么区别。我想利用优势,避免劣势。
优点是能够Outer.this
隐式引用(更短的代码)。
缺点是必须将内部类放入外部类定义的边界(没有模块化)。