JavaAPI详解系列(7):Class类(1)

Class类的实例描述运行中Java应用程序的类和接口。一个Class类的实例可以描述所有Java的数据类型:类,接口,枚举,注解,数组基本数据类型和关键字void类型。

Class类没有public构造器。Class类的实例的创建是由JVM加载其字节码或通过调用类加载器调用时自动创建。Class类Java反射的核心.通过该类通过字符串类型名称动态创建实例和调用方法。

通常使用三种方式来获得Class对象。

方式一:对象名.getClass();

packagestring.lang.java;

importjava.io.Serializable;

publicclassClassDemo1 {

publicstaticvoidmain(String[]args) {

fun(1);

fun(2.3);

fun("Hello");

fun(newjava.util.Date());

fun(newSerializable(){});

}

publicstaticvoidfun(Objectobj){

System.out.println(obj.getClass().getName());

}

}

运行的结果如下:

JavaAPI详解系列(7):Class类(1)_第1张图片

方式二:类型名.class;

packagestring.lang.java;

publicclassClassDemo2 {

publicstaticvoidmain(String[]args) {

System.out.println(String.class.getName());

System.out.println(Override.class.getName());

System.out.println(int.class.getName());

System.out.println(void.class.getName());

}

}

运行的结果如下:

方式三:Class.forName(String classFullName);

packagestring.lang.java;

publicclassClassDemo3 {

publicstaticvoidmain(String[]args) {

try{

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

System.out.println(clz.getName());

}catch(ClassNotFoundExceptione) {

e.printStackTrace();

}

}

}

运行的结果如下:

你可能感兴趣的:(JavaAPI详解系列(7):Class类(1))