类名后面的.class是什么意思

  • 本文关键字:是什么 class java
  • 更新时间 :
  • 英文 :


例如,.classMyClass.class中是什么意思?我知道,当你输入一个类的名称和它用来访问其静态字段或方法的点时,但这与".class"无关

SomeClass.class获取Class<SomeClass>类型,您可以使用该类型使用反射API进行编程。

如果您有一个使用instance.getClass()的类实例,则可以获得相同的类型。

你可以在这里查看文档。例如,您可以:

  • 获取字段和方法、注释等的名称
  • invoke方法,获取构造函数以创建类的新实例
  • 获取类、超类、包等的名称

当您在类名后写入.class时,它引用代表给定类的Class对象(形式上,它是一个命名的类文本(。NombreClase.class的类型为Class<NombreClase>

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

我一直认为这是编译器添加的字段成员,但看起来它实际上只是语法糖。

最新更新