class Outer
{
private int size=10;
public class Inner
{
public void doStuff()//将内部类声明为public
{
System.out.println(++size);
}
}
}
public class TestInner
{
public static void main(String[] args)
{
Outer outer=new Outer();
Outer.Inner inner=outer.new Inner();//通过Outer.Inner为Inner实例化一个对象
inner.doStuff();
}
}

解决方案 »

  1.   

    其中Outer.Inner inner=outer.new Inner();后面那个outer为什么要用Outer的对象而不用Outer??。
      

  2.   

    public class Inner
    {
    public void doStuff()//将内部类声明为public
    {
    System.out.println(++size);
    }
    }
    因为你定义的这个是内部类 是非静态内部类,要new他 必须先把实例他的上层类。利用上层了去创建他。
    如果你吧这个类声明为static类 也就是静态内部类
    你用Outer可以通过