问题
Java中的.class
是什么意思?例如,如果我创建了一个名为Print
的类。 Print.class
返回什么?
#1 热门回答(105 赞)
当你在类名后面写入.class
时,它会引用表示informationaboutgiven类的类文字-java.lang.Class
object。
例如,如果你的类是Print
,那么Print.class
是表示类Print
on运行时的对象。它与任何(直接)实例Print
的getClass()
方法返回的对象相同。
Print myPrint = new Print();
System.out.println(Print.class.getName());
System.out.println(myPrint.getClass().getName());
#2 热门回答(40 赞)
当没有可用类的实例时使用.class。
当有一个类的实例可用时,使用.getClass()。
object.getClass()返回给定对象的类。例如:
String string = "hello";
System.out.println(string.getClass().toString());
这将输出
class java.lang.String
这是字符串对象的类:)
#3 热门回答(4 赞)
如果对象的实例可用,那么获取其Class的最简单方法是调用Object.getClass()
The.class
Syntax
如果类型可用但没有实例,则可以通过将.class
附加到类型名称来获取类。这也是获取基本类型的Class的最简单方法。
boolean b;
Class c = b.getClass(); // compile-time error
Class c = boolean.class; // correct
请参阅:docs.oracle.com about class