JAVA类型信息
JAVA类型信息
1. Class对象
类的信息存储在一个特殊对象中——Class对象。每个类都有一个Class对象。编写并编译一个新类,就会产生一个Class对象,存在同名的.class文件中。
类加载器用Class对象用来创建一个类的实例对象。因为JAVA程序是在运行时才加载的,所以创建一个类的实例对象时,默认的类加载器首先检查这个类的Class对象是否已经加载。如果尚未加载,默认的类加载器会寻找.class文件。
获得Class对象的引用的方法有三个:1.知道类的名称,使用Class.forName()静态方法。2.有该类的对象,调用该对象的getClass()方法。3.使用类字面常量。
1 Class c = Class.forName("com.cnblogs.Test"); 2 3 Test obj = new Test(); 4 Class c = obj.getClass(); 5 6 Class c = int.class
使用Class对象的newInstance()方法可以创建该类的实例对象,但要求该类拥有默认构造器(无参构造函数),否则运行时会报错(编译期不会)。
1 Class c = int.class; 2 Integer i = c.getInstance();
还可以利用泛型语法,在编译期避免错误的Class应用。
1 Class<? extends Number> c = int.class;