你能告诉我data . type.class是什么意思吗?



我看到这样的代码:

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中是什么意思?

最新更新