我是java新手。任何人都可以解釋爲什麼下面的程序不工作?謝謝。java程序沒有編譯,變量的範圍和生命期問題
class AnonymousInnerClassInMethod
{
public static void main(String[] args)
{
int local = 1;
Comparable compare = new Comparable()
{
public int compareTo(Object value)
{
return (Integer)value - local;
}
};
System.out.println(compare.compareTo(5));
}
}
嘗試'final int local = 1;'(請參閱http://stackoverflow.com/questions/1299837/cannot-refer-to-a-non-final-variable-inside-an-inner-class-defined -in-A-differen)。 – sp00m
請將更多精力放在將來格式化您的代碼上。在提交之前先看看你的文章的預覽,然後問自己,如果你想回答的話,你是否會希望閱讀它。 –