一.Class类的使用
1.任何一个类都是Class的实例对象,这个实例对象有三种表示方式。
二.动态加载类
1.编译时刻加载类是静态加载类、运行时刻加载类是动态加载类
2.new 创建对象是静态加载类,编译时刻加载所有可能用到的类,意味着你有99个功能,只要有一个有问题,全部用不了,用动态加载类可以解决这个问题。
3.动态类就是用class类加载,如Class c3 = Class.forName("包.类名");然后用newInstance创建对象。
三.获取方法信息
四.获取成员变量信息和构造函数信息
五.方法反射的基本操作(使用方法)
1.要获取一个方法就是获取类的信息,获取类的信息首先要获取类的类类型
2.用名称和参数列表来获取方法 。
3.invoke来操作方法
例子:
六.扩展----集合泛型的本质
Java中集合的泛型,是防止错误输入的,只在编译阶段有效,绕过编译就无效了,验证:我们可以通过方法的反射来操作,绕过编译
结果:本来只能输入字符串的list1现在增加了数字20.
变为
[hello, 20]