java反射(Reflect)
凡人1995
这个作者很懒,什么都没留下…
展开
-
反射————Class使用01
反射————Class使用 java里面不是面向对象的有两个 java语言中,静态的成员和普通的数据类型,数据类型有包装类作为弥补,静态的成员属于类而不是实例对象 任何类本身都是java.lang.Class类的实例对象 如果说普通我们定义的java类是实例对象的模板的话,java.lang.Class这个类就说普通类的模板 任何一个类都是Class的实例对象,这个实例对象有...原创 2019-04-09 11:00:21 · 98 阅读 · 0 评论 -
反射————类的动态加载和类的方法获取02
类的动态加载 有动态肯定有静态,那么首先要分清什么是编译、什么是运行 简单的理解是写在源代码中的new就是静态加载,编译的时刻就知道需要加载使用到的类。 编译的时候不确定的,在运行的时候需要一些输入参数才确定要加载的类的,就是动态加载 class.forName(类名);这个动态加载方法。 这个方法非常常用。 getName() 获取类的带包名的名称。 Class c = ...原创 2019-04-09 12:37:25 · 132 阅读 · 0 评论 -
反射————获取成员变量和构造函数03
成员变量的获取 成员变量也是对象 java.lang.reflect.Field Field类封装了关于成员变量的操作 getFields() 方法获取的是所有的public的成员变量的信息 getDeclaredFields() 获取的是该类自己声明的成员变量的信息 getType() 得到成员变量的类型的类类型 Field fs = c.getDeclaredFields...原创 2019-04-09 14:23:31 · 103 阅读 · 0 评论 -
反射————方法的反射04
方法的反射 1.如何获取某个方法 方法的名称和方法的参数列表才能唯一的决定某个方法 2.方法反射的操作 method.invoke(); 1.要获取一个方法就是获取类的信息,获取类的信息首先获取类的类类型 Student s = new Student(); Class c = s.getClass(); 2.获取方法,由名称和参数列表来决定 getMethod() 获取的是...原创 2019-04-09 14:56:27 · 112 阅读 · 0 评论 -
反射————泛型的本质05
泛型的本质 1.反射的操作都是编译之后的操作 ArrayList list = new ArrayList(); ArrayList<String> list1 = new ArrayList<String>(); Class c1 = list.getClass(); Class c2 = list1.getClass(); System.out.printl...原创 2019-04-09 15:16:57 · 104 阅读 · 0 评论