6

可能重复:
调用 MyClass.class 和 MyClass.getClass() 有什么区别

想要一个Class<T>对象,这两种方法有什么区别?

Test ob = new Test();

ob.getclass();

或者

Test.class
4

2 回答 2

7

根据类 javadoc

第一种方法Object.

第二种方法使用文字获取命名类型(或 void)的Class对象。class

于 2012-11-13T19:14:35.373 回答
5

getClass()方法在中定义java.lang.Object,因此可以在任何对象引用上调用。

它获取与引用指向的对象的运行时类型关联的 Class 对象。.

getClass() 方法根本不类似于 .class。更接近的是 Class.forName(String),它为由 String 命名的类获取一个 Class 对象。

在可以使用其中任何一个的情况下,请使用.class,因为它更有效。

于 2012-11-13T19:17:56.393 回答