java中的Class类

能够分析类能力的程序称为反射,可以用来:在运行时分析类的能力。在运行时查看对象。实现通用的数组操作代码。利用Method 对象, 这个对象很像中的函数指针。

Class类

Class类是最常用的反射工具,Object类中的getClass方法将会返回一个Class类型的实例,Class实例的getName方法将返回类的名字。

@Data
public class People {
    private String name;
    private Integer age;
}
People people = new People();
Class cl = people.getClass();
System.out.println(cl.getName());  //People

Class实例的静态方法forName可以通过类名返回一个Class对象,若没有找到字符串对应的类名,将会抛出ClassNotFoundException异常。

Class cl = Class.forName("People");

若T是任意的Java类型,T.class将代表匹配的类对象。

Class cl1 = Random.class;
Class cl2 = int.class;
Class cl3 = Double[].class;

通过==运算符可以实现两个类对象的比较操作

if (e.getClass == People.class)
    ...

newInstance方法可以动态的创建一个类的实例,可以与forName方法配合,通过字符串创建一个对象。

e.getclass.newInstance();
Object m = Class.forName("People").newInstance();
上一篇:07 从RDD创建DataFrame


下一篇:【系统观】Windows 7(英文版)