java.lang.Class类 声明:
Class 类的实例表示正在运行的 Java 应用程序中的类和接口。 枚举是一种类,注释是一种接口。 每个数组属于被映射为 Class 对象的一个类,所有具有相同元素类型和维数的数组都共享该Class 对象。 基本的 Java 类型(boolean、byte、char、short、int、long、float 和double)和关键字 void 也表示为 Class 对象。 Class类没有public构造方法。Class对象是在加载类时由Java 虚拟机以及通过调用类加载器中的defineClass 方法自动构造的。 在Java中,每个class都有一个相应的Class对象。也就是说,当我们编写一个类,编译完成后,在生成的.class文件中,就会产生一个 Class对象,用于表示这个类的类型信息。Class类不是我们认为创建的,是由java虚拟机,在我们生成.class文件的时候创建的,我们可以通 过几种方法,获得这个Class类实例。 Class 对象的三种获取方法
重要的几个方法: 1, public static Class<?> forName(String className) 返回一个Class<?>对象,注意通过这个方法是不能确定Class<?>里面通配符?的类型的。 2,public T newInstance() :根据对象的class新建一个对象,常用于反射中构建对象,调用对象方法,注意该类需实现默认无参构造方法。
3,public ClassLoader getClassLoader(): 4,public String getName(): 5,public native Class getSuperclass():获取类的父类,Object的父类为null 解决 File File =new File("C:\\test.txt")绝对路径问题,可以获得相对路径。 参考:http://blog.csdn.net/lcj8/article/details/3502849 7,其他类 public boolean isEnum()
public native int getModifiers() : 反射中获得修饰符,如public static void等 。 public Field getField(String name):反射中获得域成员。 public Field[] getFields() :获得域数组成员。 public Method getDeclaredMethod(String name, Class<?>... parameterTypes):加个Declared代表本类,继承,父类均不包括。 public Constructor<?>[] getConstructors() :获得所有的构造函数。 其中Package、Field、Method方法均为java.lang.reflect包里的对象 |
|
来自: hongjing_z > 《Java》