java

java.lang.Class 类

Class类的实例对象,用于记录类描述信息。

Class类没有公共的构造方法,无法通过new运算符实例化;只能通过对象的getClass方法,或是通过Class.forName(…)来获得实例。

        方法

目的

static ClassforName(String className)throws ClassNotFoundException

使用参数className来指定具体的类,来获得相关的类描述对象,该方法有可能抛出类加载异常(ClassNotFoundException),必须捕捉

Class getSuperclass()

获得当前类描述对象的父类的描述对象

String getName()

返回当前类描述对象的类名称

获取Class对象的三种方式:

public class _T11 {

// Class:类描述对象

public static void main(String[] args) {

Class<?> _class;

// *1对象.getClass()

String str = "";

_class = str.getClass();

System.out.println(_class + "-----对象名.getClass()");

// 2*类.class

_class = String.class;

System.out.println(_class + "-----类名.class");

// **3Class.forName("")

try {

_class = Class.forName("java.lang.String");

System.out.println(_class + "-----Class.forName(...)");

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

}

}

class java.lang.String-----对象名.getClass()

class java.lang.String-----类名.class

class java.lang.String-----Class.forName(...) 

Class类的常用方法:

    getName()一个Class对象描述了一个特定类的属性,Class类中最常用的方法getName以 String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。&nbsp;

newInstance()Class还有一个有用的方法可以为类创建一个实例,这个方法叫做newInstance()。例如:x.getClass.newInstance(),创建了一个同x一样类型的新实例。newInstance()方法调用默认构造器(无参数构造器)初始化新建对象。

getClassLoader()返回该类的类加载器。

getComponentType()返回表示数组组件类型的 Class。

getSuperclass()返回表示此 Class 所表示的实体(类、接口、基本类型或 void)的超类的 Class。

isArray()判定此 Class 对象是否表示一个数组类。