zoukankan      html  css  js  c++  java
  • 二.6 java高级-反射

    1.概念:动态获取类和对象的信息,动态调用类的方法

    2.反射API:Class类:获取类信息  Field类:获取和设置类中的数学值  Method类:获取方法信息或者执行某个方法  Constructor类:获取构造方法  ClassLoader

    (1)Class输入java.lang.Class  Field,Method,Constructor都属于java.lang.reflect 包

    (2)Class类的方法:

      forName():获得Class对象(对类进行初始化)

      newInstance():创建一个实例(对类进行实例化)

      getFields():获得所有公有的属性对象/getDeclaredFields():获得所有属性对象

      getConstructor():获得所有的公有构造方法/getDeclaredConstructor():获得该类所有构造方法

      getMethod():获得所有公有的方法/getDeclaredMethod():获得所有方法

    (3)Method类的方法:

      invoke(Object obj,Object ... args)  传递object对象及参数调用该对象对应的方法

    3.反射的步骤:

    (1)获取Class对象

    (2)调用Class对象所对应的类中定义的方法,这是反射的使用阶段

    (3)使用反射API来获取并调用类的属性和方法

    4.获取Class对象的三种方法:(1)对象.getClass();(2)类名.class;(3)Class.forName()

    5.Class类的方法

    6.创建对象的两种方法

    (1)使用Class对象的newInstance方法创建实例  要求:对应类有默认的构造方法

    (2)使用Class对象获取指定的Constructor对象,再调用Constructor对象的newInstance方法创建实例  这种方法可以选定构造方法创建实例

    7.Method的invoke方法

  • 相关阅读:
    mkconfig文件里的"cat << EOF >> config.h"
    (ARM v7)信号量、互斥体代码追踪
    (ARM v7)自旋锁、读写锁、顺序锁代码追踪
    mac 系统上安装navicat
    git2consul配置管理工具使用教程
    Spring Cloud Feign如何上传文件
    spring-cloud feign的多参数传递方案
    Consul下载安装及运行教程
    比SecureCRT更好用的工具MobaXterm下载安装使用教程
    Linux下RocketMQ下载安装教程
  • 原文地址:https://www.cnblogs.com/midiyu/p/15138802.html
Copyright © 2011-2022 走看看