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对象所表示的类或接口的指定已声明方法。

  • 相关阅读:
    MongoDB compass 连接不上远程服务器的解决方法
    art-template 模版引擎
    mongodb数据库的集合关联
    捕获mongoogse 错误信息
    inux下使用自带mail发送邮件告警
    rinted端口转发工具
    windows安装PHP IIS MYSQL
    sql语句查询知识点
    maven加速镜像
    docker启动容器关于防火墙报错
  • 原文地址:https://www.cnblogs.com/YeHuan/p/10735930.html
Copyright © 2011-2022 走看看