.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的实例,它是一个类型化的类对象。

我一直以为这是一个由编译器添加的字段成员,但它看起来真的只是语法糖。