<分区>
我的教授在关于作用域和生命周期的练习中提供了这段代码:
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
不可访问(这是练习)和 Comparable 未参数化(疏忽?)的事实不谈……我从未见过这种构造,也不知道它甚至有可能。
- 这样做是为了避免为整个类(class)扩展 Comparable 吗?
- 如果是,为什么?它是否更容易/可读/其他?
- 是否可以为任何接口(interface)编写此类匿名类?