• 反射


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

  • 相关阅读:
    Vs code 通用插件
    VS Code 使用小技巧
    vscode: Visual Studio Code 常用快捷键
    AngularJS 和 Electron 构建桌面应用
    设计模式(四)简单工厂模式
    java必备——经典的Hibernate
    操作系统之分页分段介绍
    Js 标签云
    Android多线程分析之中的一个:使用Thread异步下载图像
    033 调整数组顺序使奇数位于偶数前面(keep it up)
  • 原文地址:https://www.cnblogs.com/YeHuan/p/10735930.html
Copyright © 2020-2023  润新知