读书人

匿名种例子,不能编译

发布时间: 2011-12-24 23:03:24 作者: rapoo

匿名类例子,不能编译
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 呢。
[解决办法]
方法内部不能定义方法!

读书人网 >J2SE开发

热点推荐