<分区>
据我正确理解匿名类
总是final
:
这在JLS 15.9.5
中有专门提到
但是,当我运行以下代码来检查它是否显示 Inner
类不是 final
时。
public class Test{
static class A<T> {
}
public static void main(String arg[]) {
A<Integer> obj = new A() {
};
if ((obj.getClass().getModifiers() & Modifier.FINAL) != 0) {
System.out.println("It is a final " + obj.getClass().getModifiers());
} else {
System.out.println("It is not final " + obj.getClass().getModifiers());
}
}
}
以上程序的输出是:
It is not final 0
请消除我的疑问,因为我无法理解这种行为。