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

时间:2015-08-05 17:00:32

标签: java class data-binding

我看到这样的代码:

com.test.model.User.class

我在User

中定义了com.test.model

但我不知道.class意味着......?

我认为这不是一个静态的论点,我也没有定义。

告诉我.class的含义以及定义.class我可以找到.class的哪个类?

2 个答案:

答案 0 :(得分:2)

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());
}

答案 1 :(得分:1)

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());

来源:What does .class mean in Java?

相关问题