是什么.class
意思,例如,MyClass.class
?我知道当您输入一个类的名称以及它用于访问其静态字段或方法的点时,但这与“.class”无关
问问题
15556 次
3 回答
10
当你写.class
在类名之后时,它引用Class
代表给定类的对象(正式地,它是一个命名的类字面量)。的类型NombreClase.class
是Class<NombreClase>
。
例如,NombreClase.class
是一个表示NombreClase
运行时类的对象。它与getClass()
的任何(直接)实例的方法返回的对象相同NombreClase
。
NombreClase obj = new NombreClase();
System.out.println(NombreClase.class.getName());
System.out.println(obj.getClass().getName())
于 2013-02-27T00:02:33.917 回答
7
您可以添加.class
到任何类的名称以检索其Class对象的实例。
使用时,Integer.class
您引用 的实例Class<Integer>
,这是一个类型化的类对象。
我一直以为这是编译器添加的字段成员,但看起来它实际上只是语法糖。
于 2013-02-27T00:02:55.033 回答