62,614
社区成员
发帖
与我相关
我的任务
分享
class Outer
{
int num=1;
void show()
{
int count=5;
class Inner
{
void function()
{
System.out.println("test:"+count);
}
}
new Inner().function();
}
}
class NoNameInnerClassDemo
{
public static void main(String[] args)
{
new Outer().show();
}
}
F:\>D:\JavaEnv\J2SE8.X86\bin\javac -d . NoNameInnerClassDemo.java
NoNameInnerClassDemo.java:11: 错误: 从内部类引用的本地变量必须是最终变量或实际上的最终变量
System.out.println("test:"+ count);
^
1 个错误
F:\>cd cmp
F:\Cmp>D:\JavaEnv\J2SE7.X86\bin\javac -d . NoNameInnerClassDemo.java
F:\Cmp>D:\JavaEnv\J2SE7.X86\bin\javac -d . NoNameInnerClassDemo.java
NoNameInnerClassDemo.java:11: 错误: 从内部类中访问本地变量count; 需要被声明为最终类型
System.out.println("test:"+ count);
^
1 个错误
真的通过了,附照片为证[/quote]
好吧 你赢了 我用的myeclipse
不但编译不通过,而且运行也失败
你确定你 执行的class文件不是加了final 的??
试试 清空后 重新编译 执行[/quote]我就用的普通的文本编辑器,直接用JDK编译,话说我怀疑是因为JDK版本的问题,我的是最新版的JDK,你的呢??[/quote]
1.7.0_67[/quote][/quote]
佩服啊 !!!结果很令人信服!!
[/quote]