码迷,mamicode.com
首页 > 其他好文 > 详细

类的加载器和反射

时间:2019-09-11 12:02:27      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:for   语言   对象   info   declared   设置   获取信息   tco   建立   

类的加载器
加载
就是指将class文件读入内存,并为之创建一个Class对象。
任何类被使用时系统都会建立一个Class对象
连接
验证 是否有正确的内部结构,并和其他类协调一致
准备 负责为类的静态成员分配内存,并设置默认初始化值
解析 将类的二进制数据中的符号引用替换为直接引用
初始化
就是我们以前讲过的初始化步骤、
反射

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。


获取class对象的三种方式
1、Class c = new Person(); .getClass();
2、Class c2 = Person.class;
3、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对象对集合进行添加操作

技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

类的加载器和反射

标签:for   语言   对象   info   declared   设置   获取信息   tco   建立   

原文地址:https://www.cnblogs.com/axu-xxx/p/11505037.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!