我看到这样的代码:
com.test.model.User.class
我在User
包
com.test.model
类
但我不知道.class
意味着......?
我认为这不是一个静态的论点,我也没有定义。
告诉我.class
的含义以及定义.class
我可以找到.class
的哪个类?
答案 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());