类的加载器
加载
就是指将class文件读入内存,并为之建立一个Class对象。
任何类被使用时系统都会创建一个Class对象
链接
验证 是否有正确的内部结构,并和其余类协调一致
准备 负责为类的静态成员分配内存,并设置默认初始化值
解析 将类的二进制数据中的符号引用替换为直接引用
初始化
就是咱们之前讲过的初始化步骤、
反射java
JAVA反射机制是在运行状态中,对于任意一个类,都可以知道这个类的全部属性和方法;对于任意一个对象,都可以调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。数组
获取class对象的三种方式
一、Class c = new Person(); .getClass();
二、Class c2 = Person.class;
三、Class c3 = Class.forName("Person");
c.getConstructors()获取全部公共构造方法数组
c.getDeclaredConstructors();获取全部构造方法
c.getConstructor(int.class,String.class);获取公共的构造方法对象
Object obj=con.newInstance(12,"小火锅");用经过构造方法对象建立对象
c.getDeclaredConstructor(String.class,int.class);获取私有的构造方法对象
con.setAccessible(true);容许构造器暴力反射
Person p=(Person)c.newInstance();快速建立person对象
c.getMethod("sleep",String.class);获取公共有参 成员方法对象
泛型擦除
擦除泛型原理就是用泛型不进class文件 而后用class对象对集合进行添加操做3d