【发布时间】:2014-08-08 11:52:40
【问题描述】:
这是一个相当理论的问题,但也许您知道可以让您回答的规范……为什么根据匿名类是否为最终类,这段代码会产生错误?在实践中,这个类可以被认为是最终的(没有字节码操作就无法扩展它):
public class Modifiers
{
public static void main(final String[] args) throws ClassNotFoundException
{
new Modifiers().go();
}
public void go() throws ClassNotFoundException
{
final Runnable r = new Runnable()
{
@Override
public void run()
{
System.out.println("Inside runnable");
}
};
r.run();
System.out.println(Modifier.isFinal(getClass().getClassLoader().loadClass(Modifiers.class.getName() + "$1").getModifiers()));
}
}
【问题讨论】:
标签: java reflection final specifications anonymous-class