zoukankan      html  css  js  c++  java
  • 反射

    定义:java反射机制是在运行状态中,能知道任何一个类的所有属性和方法,能调用任何一个对象的属性和方法,这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。

    1 创建class对象

    1.1 使用类的class属性

    Class c = Demo.class;

    1.2 使用Class类的forName()方法

    Class c = Class.forName("com.yh.test.Demo");

    1.3 使用Object对象的getClass()方法

    Class c = demo.getClass();

    且一个类只能有一个反射对象,即使用三种方法创建同一个类的反射对象,得到的三个结果都是完全相同的。

    2 获取构造方法

    2.1 getConstructors():返回一个包含某些Constructor对象的数组,这些对象反映此Class对象所表示的类的所有公共构造方法。

    2.2 getConstructor(Class<?>...parameterTypes):返回一个Constructor对象,反映此Class对象所表示的类的指定公共构造方法。

    2.3 getDeclaredConstructors():返回Constructor对象的一个数组,这些对象反映此Class对象所表示的类声明的所有构造方法。

    2.4 getDeclaredConstructor(Class<?>...parameterTypes):返回一个Constructor对象,这些对象反映此Class对象所表示的类或接口声明的指定构造方法。

    3 获取成员变量

    3.1 getFields():返回一个包含某些Field对象的数组,这些对象反映此Class对象所表示的类或接口的所有可访问公共字段。

    3.2 getField(String name):返回一个Field对象,反映此Class对象所表示的类或接口的指定公共成员字段。

    3.3 getDeclaredFields():返回Field对象的一个数组,这些对象反映此Class对象所表示的类或接口所声明的所有字段。

    3.4 getDeclaredField(String name):返回一个Field对象,这些对象反映此Class对象所表示的类或接口的指定已声明字段。

    4 获取方法

    4.1 getMethods():返回一个包含某些Method对象的数组,这些对象反映此Class对象所表示的类或接口的公共成员方法。

    4.2 getMethod(String name,Class<?>...):返回一个Method对象,这些对象反映此Class对象所表示的类或接口的公共成员方法。

    4.3 getDeclaredMethods():返回Method对象的一个数组,这些对象反映此Class对象所表示的类或接口所声明的所有方法,包括公共、保护、默认访问和私有方法,但不包括继承的方法。

    4.4 getDeclaredMethod():返回一个Method对象,反映此Class对象所表示的类或接口的指定已声明方法。

  • 相关阅读:
    二,redis常用的数据类型--list
    一,redis常用的数据类型--String
    redis连接超时--Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: Failed connecting to host xxxxx:6379
    Contos 7.5下搭建elasticsearch-7.6.2
    java List中相同的数据合并到一起
    booststrap select2的应用总结
    jquery和bootstrap获取checkbox选中的多行数据
    哈利法克斯(Halifax),布里格斯(Briggs)计算对数的方法-1620年
    Opencv实现频域理想滤波器
    CIELab颜色模型概述
  • 原文地址:https://www.cnblogs.com/YeHuan/p/10735930.html
Copyright © 2011-2022 走看看