【发布时间】:2012-02-24 14:25:08
【问题描述】:
假设类有这样的代码:
class C {
public static void show() {
}
}
class CTest {
public static void main (String[] args) {
C.show();
}
}
那么,在引用类C来访问这里的静态方法show()时,是否可以完全合法地得出结论,Java实际上是通过Java反射调用show()方法?
即它实际上是在做这样的事情吗
Class test = Class.forName(C);
test.show();
调用静态方法?
如果不是,那它实际上是如何在不创建对象的情况下调用静态方法的?
如果上述解释属实,那么当我们实际通过java.lang.Class 对象调用方法时,我们将如何证明“静态成员仅与类关联,而不与对象关联”的说法?
【问题讨论】:
标签: java reflection static jvm instantiation