Java中MyClass.class代表什么?
我遇到过以下表格中的代码:Java中MyClass.class代表什么?,java,Java,我遇到过以下表格中的代码: MyClass.class.getName(); 是一级物业吗 它是否适用于所有类别?(它是从对象类继承的吗?) .class返回什么类型的对象 .class还有哪些其他函数,如getName() 我意识到这是一个非常基本的问题,但我无法在Javadocs中找到全面的信息,如果能给出.class的一些实际应用程序,这将非常有帮助 提前感谢。.class返回类的对象,是的,它适用于所有类。是Java核心类。不,它不是属性。“class”是一个特殊的关键字,您可以使用它
MyClass.class.getName();
是一级物业吗
它是否适用于所有类别?(它是从对象类继承的吗?)
.class返回什么类型的对象
.class还有哪些其他函数,如getName()
我意识到这是一个非常基本的问题,但我无法在Javadocs中找到全面的信息,如果能给出.class的一些实际应用程序,这将非常有帮助
提前感谢。
.class
返回类的对象,是的,它适用于所有类。是Java核心类。不,它不是属性。“class”是一个特殊的关键字,您可以使用它通过名称获取类的类对象。您可以调用java.lang.Object.class
,但不能调用obj.class
。相反,您应该使用obj.getClass()
MyClass.class
是类型的文本值(与相同,“…”
是类型为字符串的文本值)
它可用于所有类和接口,也可用于基本类型(int.class
)
由于Class
是泛型的,MyClass.Class
的类型是Class
,因此您可以执行以下操作:
Class<MyClass> c = MyClass.class;
MyClass o = c.newInstance(); // No cast needed, since newInstance() on Class<T> returns T
Class c=MyClass.Class;
MyClass o=c.newInstance();//不需要强制转换,因为类上的newInstance()返回T
类的方法可以在中找到。我以前也听说过“文字值”这个术语。理解它仍然有一些问题。请您进一步解释一下,或者给我指出相关信息好吗?@Shailesh:Literal value是源代码中某种类型值的文本表示。因此,“Hello,world”
是String
类型的文本值,42
是int
类型的文本值,true
是boolean
类型的文本值,等等。