对于每种类型的对象,你可以在运行时获得它的成员和类型信息,不过你得借助于JVM为你实例化的一个不可修改的java.lang.Class对象。
要获取该对象有三种方法:.class语法是其中一种
1. 通过对象的getClass()方法,前提是对象是继承Objec的引用类型t,因为getClass()是Object的方法。
如:enum E{A, B};
Class c = A.getClass();
而下面的用法是错误的
boolean b;
Class c = b.getClass(); // compile-time error
2.使用.class语法,此时只需知道类型的名字即可,不必有一个实例对象
boolean b;
Class c = b.getClass(); // compile-time error
Class c = boolean.class; // correct
3.使用Class.forName(),这种方法对引用类型和基本类型都适用
Class cDoubleArray = Class.forName("[D"); // double[].class
Class cStringArray = Class.forName("[[Ljava.lang.String;"); // [][].class
|