class Outer { private int size; class Inner { void doStuff() { size++; System.out.println("The size value of the Outer class:" + size); } } }public class TestInner { public static void main(String[] args) { Outer out = new Outer(); Outer.Inner in = out.new Inner(); in.doStuff(); } }就像这种类型的内部类,感觉另外写个类不是更好吗,这样写多难理解啊
class Outer
{
private int size; class Inner
{
void doStuff()
{
size++;
System.out.println("The size value of the Outer class:" + size);
}
}
}public class TestInner
{
public static void main(String[] args)
{
Outer out = new Outer();
Outer.Inner in = out.new Inner();
in.doStuff();
}
}就像这种类型的内部类,感觉另外写个类不是更好吗,这样写多难理解啊
还有更重要的在于封装性:如果Outer在处理复杂逻辑的时候需要一个这样的一个辅助类,而且这个辅助类没必要也不应该让其他地方访问它,这个时候就可以用内部类。譬如你把那个Inner声明为private class,那么外面没法访问。这种效果普通类做不到。