日期:2014-05-20  浏览次数:20628 次

一个内部类引用问题

B,C, 都是类
 class test
{

  public B b =new B();
  public C c;  
   
  class B{
  c = new C(); //语法错误,为什么?

  public void inint()
  {
  c = new C(); //放在方法里就没有问题
  }  
   
  }

}

我是想初始化test类时,B,C都被初始化了

------解决方案--------------------
类体内是声明变量和函数的地方,你突然冒出一个 c = new C();相当于不知道c是什么类型,也就是没有声明。自然是不行的。 
而你在方法中,这个是内部类可以访问到外部类,这里的c相当于public C c; 所以没有错误