zoukankan      html  css  js  c++  java
  • Java反射机制的使用方法



    Java的反射机制同意你在程序执行的过程中获取类定义的细节。有时候在程序执行的时候才得知要调用哪个方法,这时候反射机制就派上用场了。




    获取类

    类的获取方法有下面几种:

    •    forName()。通过Class.forName()获取与字符串向相应的类。

      比方lstinline{Class.forName("java.lang.String");}。

    •    getClass()。每一个对象都有这种方法。比方lstinline{Foo foo; ...; foo.getClass();}。
    •    类名.class。直接通过类名获取这个类的反射对象。比方String.class。
    •    基本类型的类。

      比方Integer.TYPE。

      这样的方法与Integer.class是由差别的。一个是基本类型(Primitive type)。一个是复合类型(Composition)。


    获取构造函数

    获取构造函数由下面几种方法:

    •    getConstructor(Class[] params)。获取公共的构造函数。

    •    getConstructors()
    •    getDeclaredConstructor(Class[] params)。获取全部构造函数。
    •    getDeclaredConstructors()


    获取构造函数之后能够通过newInstance生成一个新的实例。


    获取字段

    获取字段的方法有下面几种:
    •    getField(String name)。获取公共的字段。
    •    getFields()。

    •    getDeclaredField(String name)。获取全部的字段。
    •    getDeclaredFields()

    获取字段之后能够通过getDouble getInt等方法获取变量的值。也能够通过setDouble setInt等方法给变量赋值。


    获取成员方法

    获取方法的方法有下面几种:

    •    getMethod(String name, Class[] params)。获取公共的方法。

    •    getMethods()
    •    getDeclaredMethod(String name, Class[] params)。

      获取全部的方法。

    •    getDeclaredMethods()


    获取成员方法之后能够调用invoke方法运行该方法。


    数组


    数组也是一个特殊的类型,因此Java中提供了java.lang.reflect.Array实现数组的动态操作。创建一个数组能够调用newInstance(type, count)方法,获取一个元素能够通过get(array, index)。
  • 相关阅读:
    How to install tcpping on Linux.md
    当前服务器的并发连接数查看
    Windows 系统下安装 dig 命令
    paping使用来测试联通&网站由于tcp协议导致的无法通信问题超时问题
    SSH反向连接及Autossh
    设置Windows Azure Linux虚拟机中的root账户
    用UltraISO制作CentOS U盘安装盘
    CentOS7 修改网卡名称为eth0
    iOS开发--绘图教程
    ios开发--网页中调用JS与JS注入
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5123947.html
Copyright © 2011-2022 走看看