我遇到过以下形式的代码:
MyClass.class.getName();
Run Code Online (Sandbox Code Playgroud)
.class是属性吗?
它适用于所有课程吗?(它是从Object类继承的吗?)
.class返回什么类型的对象?
.class有哪些像getName()这样的函数?
我意识到这是一个非常基本的问题,但是我无法在Javadocs中找到全面的信息,如果可以给出.class的一些实际应用,那将非常有用.
提前致谢.
MyClass.class是类型的文字值Class(作为相同的方式"..."是类型的文字值String).
它适用于所有类和接口,也适用于原始类型(int.class).
由于Class是通用的,类型MyClass.class是Class<MyClass>,所以你可以这样做:
Class<MyClass> c = MyClass.class;
MyClass o = c.newInstance(); // No cast needed, since newInstance() on Class<T> returns T
Run Code Online (Sandbox Code Playgroud)
方法Class可以在其javadoc中找到.