例如,.class
在MyClass.class
中意味着什么?我知道当你把一个类的名称和它用来访问它的静态字段或方法的点放在一起时,它与'.class‘无关
发布于 2013-02-26 15:59:46
发布于 2013-02-26 16:02:33
当您在类名之后编写.class
时,它引用表示给定类的Class
对象(形式上,它是一个命名类文字)。NombreClase.class
的类型是Class<NombreClase>
。
例如,NombreClase.class
是一个在运行时表示类NombreClase
的对象。它是由任何(直接) NombreClase
实例的NombreClase
方法返回的相同对象。
NombreClase obj = new NombreClase();
System.out.println(NombreClase.class.getName());
System.out.println(obj.getClass().getName())
发布于 2013-02-26 16:02:55
可以将.class
添加到任何类的名称中,以检索其class对象的实例。
当您使用Integer.class
时,您引用Class<Integer>
的一个实例,它是一个类型化的类对象。
我一直认为这是一个由编译器添加的字段成员,但看起来它实际上只是语法糖。
https://stackoverflow.com/questions/15101794
复制