代码是一个外部类之外创建非静态内部类对象的示例
如下:
class Outter
{
int oi;
class Inner
{
int ii;
Inner(int i)
{
ii=i;
}
}
void outIi()
{
System.out.println("内部类对象成员变量的值为:"+ii);
}
}
//在外部类之外创建非静态内部类对象
public class InnerClassObjTest
{
public static void main(String[] args)
{
//先创建外部类对象
Outter ot=new Outter();
Outter.Inner oti1=ot.new Inner(8);
oti1.outIi();
Outter.Inner oti2=new Outter().new Inner(10);
oti2.outIi();
}
}

------解决思路----------------------
void outIi()
{
System.out.println("内部类对象成员变量的值为:"+ii);
}
晕,你在外部类调用内部类的成员变量ii当然找不到
------解决思路----------------------
class Outter
{
int oi;
class Inner
{
int ii;
Inner(int i)
{
ii=i;
System.out.println("内部类对象成员变量的值为:"+ii);
}
}
}
//在外部类之外创建非静态内部类对象
public class InnerClassObjTest
{
public static void main(String[] args)
{
//先创建外部类对象
Outter ot=new Outter();
Outter.Inner oti1=ot.new Inner(8);
Outter.Inner oti2=new Outter().new Inner(10);
}
}
这样试试
------解决思路----------------------
outIi()这个方法改成Inner类的就行了