ITPub博客

首页 > 应用开发 > Java > JAVA反射

JAVA反射

原创 Java 作者:KFCLYY 时间:2019-12-26 21:45:37 0 删除 编辑

什么是Java反射机制?

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

反射主要的4个API,Class类、Constructor类、Field类、Method类。见下图。


Class类,用于表示一个类的字节码文件(.class),有三种方法得到某个class文件对应的Class对象:

  1. 类名.class

  2. 对象.getClass()

  3. Class.forName("包名.类名")  (常用的方法)


Field类,代表某个类中的一个成员变量,并提供动态的访问权限,使用方法如下:

  1. 得到所有的成员变量

     Field[] fields=c.getFields();  //获取所有公共属性,包含父类继承

      Field[] fields=c.getDeclaredFields();  //获取所有属性,包含私有属性

     2. 得到指定的成员变量

     Field name=c.getField("name");

     Field name=c. getDeclaredField("name");

对于私有属性,需要设置访问权限才能进行设置,field.setAccessible(true)。

Field变量值的读取和设置方法是field.get(obj),field.set(obj,value)。


Method类,代表某个类中的一个成员方法,使用方法如下:

  1. 获得所有方法

    getDeclaredMethods()

    getMethods()

  2. 获得指定方法

    getDeclaredMethods(String name,Class<?>... parameterTypes)

          getMethods(String name,Class<?>... parameterTypes)

      3. 执行方法

         invoke(Object obj,Object... args)


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69917450/viewspace-2670810/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: RMAN的使用(八)
下一篇: JAVA中JSP
请登录后发表评论 登录
全部评论
不积跬步,无以至千里

注册时间:2019-04-24

  • 博文量
    23
  • 访问量
    11866