java中的Class类

时间:2021-05-04 16:29:33   收藏:0   阅读:0

能够分析类能力的程序称为反射,可以用来:在运行时分析类的能力。在运行时查看对象。实现通用的数组操作代码。利用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();
评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!