1.每个加载到方法区中的Class文件都对应一个Class类的对象 Class:是一个类:一个描述类的类
Class类对象的内部结构:
private Constructor[] cs; 构造器数组
private Field fs; 属性数组
private Method[] ms; 方法数组
2.在各种Java框架中都用到了反射,框架通常通过反射来识别一个对象的“类型信息”。当你传递给框架一个对象时,框架会通过反射来了解对象的真实类型(对象实体的类型,而不是引用的类型),这个类型有几个构造器,有什么样的属性,有什么样的方法。还可以通过反射调用构造器,调用方法,对属性进行读写操作。
3.如何得到Class类对象: (1)类.class (2)对象.getClass (3)Class.forName("com.Person");、
(4)通过ClassLoader对象的loadClass()方法
Class<?> aClass2 = ClassLoader.getSystemClassLoader().loadClass("com.sl.reflect.Student");
4.Class类也是类的一种,只是名字和Class关键字高度相似。
(2)Class类的对象内容是你创建的类的类型信息,比如你创建了一个shapes类,那么,Java会生成一个内容是shapes的Class类的对象
(3)Class类的对象不能像普通类一样,以new shapes()方式创建,它的对象只能由JVM创建,因为这个类没有public构造函数。
(4)Class类的作用是运行时提供或获得某个对象的类型信息。
Class原理:
所有Java类都是继承了object这个类,在Object这个类中有一个方法:getClass()。这个方法是用来取得该类已经被实例化了的对象的Class类的引用,这个引用指向的是Class类的对象。
热门评论
大佬,文章写得真不错,一起来文章互赞点点赞哈