java反射技术

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java反射技术相关的知识,希望对你有一定的参考价值。

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

  1. 获取Class对象的三种方式
    类名.class
    实例对象.getClass()
    Class.forName("类的全路径");
  1. 通过Class对象获取构造器对象
    Constructor [] cs = clazz.getConstructors(); -- 获取构造器的数组
    Stu stu = (Stu) clazz.newInstance(); -- 调用空的构造方法,获取实例对象
    Constructor c = clazz.getConstructor(类型.class); -- 通过指定的参数来获取构造器对象

  2. 通过Class对象获取属性对象
    Field f = clazz.getField("num"); -- 获取公有的属性对象
    Field f = clazz.getDeclaredField("属性"); -- 获取公有或者私有的属性对象

  3. 通过Class对象获取方法的对象
    Method m = clazz.getMethod("方法名称",参数类型.class); -- 获取共有的方法对象
    Method m = clazz.getDeclaredMethod("方法名称",参数类型.class); -- 获取公有或者私有的方法的对象

以上是关于java反射技术的主要内容,如果未能解决你的问题,请参考以下文章

软件工程JAVA反射技术

Java基础JavaCore核心-反射技术

Java的反射基础技术

Java核心技术梳理-类加载机制与反射

java反射技术

Java开发技术栈:Java基础语法反射注解