【发布时间】:2012-09-02 11:29:07
【问题描述】:
我想了解 Class.forName("ClassName") 和 ClassObject.getClass
返回类的运行时实例。那么为什么在比较从两者获得的结果 Class 对象时会为我们获取一个布尔值 false(如果我们使用 == 或等于进行比较)。
我还想知道在类名上调用 .class 方法的确切用途是什么。我已经读过它是在编译时确定的等等,但目的是什么。 Class.forName("ClassName") 不够吗??
谢谢
【问题讨论】:
-
Class.forName("ClassName")在运行时尝试解析,如果找不到则抛出异常,而ClassName.class将阻止类通过验证或完全编译。