我看到这样的代码:
com.test.model.User.class
我在com.test.model
包中定义了User
类
但我不知道.class
是什么意思?
我认为它不是一个静态参数,我也没有定义。
告诉我.class
是什么意思,哪个在班上定义了.class
,我可以找到.class
?
Xyz.class
是Java提供的一种语法,用于获取代表class Xyz
对应类的Class<Xyz>
元数据对象。在您的例子中,它是User
类。
Class<T>
对象允许您检查相应类的字段和方法,并且在某些情况下允许您创建相应类的实例。这是Java反射功能的一部分。
Class<User> cl = User.class;
for (Method m : cl.getMethods()) {
System.out.println(m.getName());
}
for (Field f : cl.getFields()) {
System.out.println(f.getName());
}
User.class
User.class将返回User
类的表示为Class
对象。
这个表达式的正式术语是类字面量,参见Java语言规范第15.8.2节。
当你在类名后面写。class时,它引用了代表给定类的class对象。
例如,如果你的类是Print(建议类名以大写字母开头),那么Print.class是一个在运行时表示Print类的对象。它与Print的任何(直接)实例的getClass()方法返回的对象相同。
Print myPrint = new Print();
System.out.println(Print.class.getName());
System.out.println(myPrint.getClass().getName());
Source: .class在Java中是什么意思?