.class在类名后面是什么意思
.class
含义是什么,例如, MyClass.class
? 我理解当你输入一个类的名称和它用于访问其静态字段或方法的点,但这与’.class’无关
SomeClass.class
获取Class
类型,您可以使用reflectionAPI进行编程。
如果您使用instance.getClass()
拥有该类的实例,则可以获得相同的类型。
你可以在这里查看文档 。 例如,您可以:
- 获取字段和方法的名称,注释等。
- 调用方法,获取构造函数来创建类的新实例
- 获取类的名称,超类,包等
当你在类名后写.class
,它引用代表给定类的Class
对象(forms上,它是一个命名的类文字 )。 NombreClase.class
的类型是Class
。
例如, NombreClase.class
是一个在运行时表示NombreClase
类的对象。 它与NombreClase
的任何(直接)实例的getClass()
方法返回的对象相同。
NombreClase obj = new NombreClase(); System.out.println(NombreClase.class.getName()); System.out.println(obj.getClass().getName())
您可以将.class
添加到任何类的名称以检索其Class对象的实例。
使用Integer.class
,引用Class
的实例,它是一个类型化的类对象。
我一直以为这是一个由编译器添加的字段成员,但它看起来真的只是语法糖。