流沙团
java反射小结
2019-1-26 流沙团


最近一直在接触java的框架



都是通过配置 xml文件, 然后进行功能的实现,



主要依赖的的就是java的反射机制








反射小结



 1. Class: 是一个类; 一个描述类的类.



封装了描述方法的 Method,



   描述字段的 Filed,



              描述构造器的 Constructor 等属性.

 

 2. 如何得到 Class 对象:

    2.1 Person.class

    2.2 person.getClass()

    2.3 Class.forName("com.atguigu.javase.Person")

  

 3. 关于 Method:

    3.1 如何获取 Method:

      1). getDeclaredMethods: 得到 Method 的数组.

      2). getDeclaredMethod(String methondName, Class ... parameterTypes)

  

    3.2 如何调用 Method

      1). 如果方法时 private 修饰的, 需要先调用 Method 的 setAccessible(true), 使其变为可访问

      2). method.invoke(obj, Object ... args);

  

  4. 关于 Field:

    4.1 如何获取 Field: getField(String fieldName)

    4.2 如何获取 Field 的值: 

      1). setAccessible(true)

      2). field.get(Object obj)

    4.3 如何设置 Field 的值:

      field.set(Obejct obj, Object val)

  

  5. 了解 Constructor 和 Annotation 

  

  6. 反射和泛型.

    6.1 getGenericSuperClass: 获取带泛型参数的父类, 返回值为: BaseDao<Employee, String>

    6.2 Type 的子接口: ParameterizedType

    6.3 可以调用 ParameterizedType 的 Type[] getActualTypeArguments() 获取泛型参数的数组.











原文地址: https://www.cnblogs.com/tech-bird/p/3525336.html






发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容