当前位置: 代码迷 >> J2SE >> 匿名种例子,不能编译
  详细解决方案

匿名种例子,不能编译

热度:42   发布时间:2016-04-24 14:11:50.0
匿名类例子,不能编译
public   class   Outer
{
public   static   void   main(String[]   args)
{
//   TODO   自动生成方法存根
    new   Outer().Callinner(new   Inner(){
   
    int   x   =   2;
    public   void   fun()
    {
    System.out.println( "x   =   "+   x);
   
    }
    }//class   A
      );
                           
}
//定义外部类方法
public   void   Callinner(Inner   a)
{

a.fun();
}
}
请问为什么不能编译呢?

------解决方案--------------------
你的匿名类Inner写在了main()方法内部,作用域限于方法内, Callinner(Inner a)方法怎么能识别数据类型Inner 呢。
------解决方案--------------------
方法内部不能定义方法!
  相关解决方案