当前位置: 代码迷 >> Java相关 >> [求助]内部类的实例化问题
  详细解决方案

[求助]内部类的实例化问题

热度:199   发布时间:2007-09-06 20:06:57.0
[求助]内部类的实例化问题
我写了一个类,内嵌两个类。我想在主函数中实例化最里面的那个类。
下面是我写的代码:
class First
{
private int index=100;

class Second
{
private int index=80;
class Third
{
private int index=50;
void print()
{
int index=30;
System.out.println(index);
}
}
}
}
class test
{
public static void main(String[] args)
{
First.Second.Third third = new First.Second.Third();
third.print();

}
}
在编译的时候提示如下错误:
C:\code\test.java:23: 需要包含 First.Second.Third 的封闭实例
First.Second.Third third = new First.Second.Third();
^
1 错误

请大家帮我看一下,这个问题应该怎么解决。谢谢了。
搜索更多相关的解决方案: 部类  实例  int  class  index  

----------------解决方案--------------------------------------------------------
First first = new First();
First.Second second = first.new First();
First.Second.Third third = second.new Thrid();

因为内部类中要保存外部类的一个引用,所以你先要生成外部类的对象。然后通过这个外部类的对象去创建内部类的对象。
----------------解决方案--------------------------------------------------------

问题解决。谢谢版主。

[此贴子已经被作者于2007-9-6 21:59:08编辑过]


----------------解决方案--------------------------------------------------------
以下是引用无缘今生在2007-9-6 21:54:57的发言:

问题解决。谢谢版主。


不好意思。笔误。
First first = new First();
First.Second second = first.new Second();
First.Second.Third third = second.new Third();


----------------解决方案--------------------------------------------------------

字母弄错了,
First first = new First();
First.Second second = first.new Second();
First.Second.Third third =second.new Third();
看的时候仔细一点!!!


----------------解决方案--------------------------------------------------------
  相关解决方案