我的教授在关于范围和生命周期的练习中提供了这段代码:
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));
}
}
暂且不考虑local
无法访问(这是练习)这一事实,并且可比较的参与者(监督?)......我从未见过这种结构并且不知道它甚至可能。
答案 0 :(得分:1)
它允许您在使用被隔离和/或依赖于访问局部变量的特定情况下使用类并覆盖方法。
是否更容易是有些主题和个人品味。但是,这意味着您的代码中的所有内容都已存在,这使您无需浏览到文件中的其他文件或其他位置即可了解所发生的情况。在简单的情况下,如上所述,通常比不必跳过代码库更容易使用。
要使local
可访问,需要声明final
。
具体回答您的问题:
答案 1 :(得分:0)