JLS Sec 8.4.3.6, synchronized methods中,它说:



这对我来说看起来很奇怪,更不用说过于复杂了:为什么要使用Class.forName("BumpTest")而不是BumpTest.class?毕竟,不可能加载BumpTest,因为它正在执行该类中的代码。并按原样编写,必须捕获并吞下已检查的ClassNotFoundException

是否有特定理由以这种方式编写它?

最佳答案

它似乎只是一个非常古老的示例,比类文字还早。在引入类文字之前,该示例出现在JLS 1.0中。

关于java - 为什么要使用Class.forName ("BumpTest"),而不是BumpTest.class?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47044310/

10-12 22:33