1. 反射主要对象

    1. Class
    2. Constructor
    3. Field
    4. Method
  2. API-Class
    1. 获取Class对象

      1. Object.getClass()
      2. className.class
      3. Class.forName()
      4. Class.getComponentType() 获得数组对象的元素类型
    2. 获取Class信息
      1. getDeclaredClasses() 返回在类中定义的公共、私有、保护的内部类和接口。但不包括继承的内部类和接口
      2. getClasses() 返回在类中定义的公共的内部类和接口,以及从父类、父接口那里继承来的内部类和接口
      3. getClassLoader() 返回加载此类的类加载器
      4. getConstructors() 返回public构造器
      5. getDeclaredConstructors() 返回所有构造器
      6. getFields() 获取所有public成员变量
      7. getDeclaredFields() 获取所有成员变量
      8. getDeclaredMethods() 获取此类所有的public方法,包括继承
      9. getDeclaredMethods() 获取在此类中定义的所有方法(public, private), 但不包括继承的方法
    3. 产生对象
      1. newInstance() 只能使用无参构造器
  3. API-Field
    1. 获取类的成员变量信息(包括类变量和实例变量)

      3. 获取变量名 field.getName()

      4. 获取变量类型 field.getType()

      5. 获取变量的参数类型,针对泛型 field.getGenericType()

      6. 获取变量修饰符 field.getModifiers() 含义见 Modifier类

      7. 获取变量所在的类 field.getDeclaringClass()
    2. 读写成员变量的值
      1. 读取成员变量的值

        // public
        field.get(foo)
        // private
        field.setAccessible(true)
        field.get(foo)
      2. 修改成员变量的值

        field.set(foo, "123")
        // private
        field.setAccessible(true)
        field.set(foo, "123")
  4. API-Method
    1. 获取方法信息

      1. method.getName()
      2. ...
    2. 反射调用方法
      1. method.invoke()
  5. API-Constructor
    1. newInstance() 生成对象,可以使用带参构造器

java反射API的更多相关文章

  1. Java反射API研究(1)——注解Annotation

    注解在表面上的意思,只是标记一下这一部分,最好的注解就是代码自身.而在java上,由于注解的特殊性,可以通过反射API获取,这种特性使得注解被广泛应用于各大框架,用于配置内容,代替xml文件配置. 要 ...

  2. Java反射API研究(3)——java.lang.Class<T>

    对于反射来说,Class是核心,任何反射的对象都需要通过Class来获得. Class 类的实例表示正在运行的 Java 应用程序中的类和接口.枚举是一种类,注释是一种接口.每个数组属于被映射为 Cl ...

  3. Java反射API研究(2)——java.lang.reflect详细内容与关系

    对于最新的java1.8而言,reflect中接口的结构是这样的: java.lang.reflect.AnnotatedElement java.lang.reflect.AnnotatedType ...

  4. Java反射api详解

    虽然已经用了很多反射相关的api,但是还没有详细研究官方api文档,下面以1.6为基础研究一下api文档(因为只找到了1.6的中文版...),同时补充1.7和1.8对反射相关api的改变.

  5. Java反射API使用实例

    /**     * 访问Class对应的类所包含的注释:getAnnotation();getDelaredAnnotation();     * 访问Class对应的类所包含的内部类:getDecl ...

  6. Java反射API研究(4)——Class中的重要对象

    一.Constructor与Method的父类:Executable Executable表示一个可执行类,构造方法与普通方法都是Executable AnnotatedType[] getAnnot ...

  7. JDK1.7新特性(4):java语言动态性之反射API

    直接通过一个代码示例来熟悉java中通过反射来对构造函数/域以及方法处理的相关API: package com.rampage.jdk7.chapter2; import java.lang.refl ...

  8. Java 反射机制及Annotation

    转自:http://justjavac.iteye.com/blog/714654 Java 反射是 Java 语言的一个很重要的特征. 它允许运行中的 Java 程序对自身进行检查,并能直接操作程序 ...

  9. Java 反射机制分析指南

    一.JAVA是动态语言吗? 一般而言,说到动态言,都是指在程序运行时允许改变程序结构或者变量类型,从这个观点看,JAVA和C++一样,都不是动态语言. 但JAVA它却有着一个非常突出的动态相关机制:反 ...

随机推荐

  1. 将Samba设置为Active Directory域控制器

    一 简介 从版本4.0开始,samba可以作为Active Directory(AD)域控制器(DC)运行,如果在生产环境中安装samba,建议运行两个或者多个DC用于故障转移 本文介绍如何让将一个S ...

  2. apache相关实验-1

    一.目录别名实验 当 apache 接受请求时,在默认情况下会将 DocumentRoot 目录中的文件送到客户端,如果想将某一不在 DocumentRoot 目录中的文件共享到网站上,并希望将它们留 ...

  3. nginx介绍及相关实验

    一.nginx介绍 1.nginx简介 Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP 服务.Nginx 是由伊戈尔·赛索耶夫为俄罗斯访问量第二的 R ...

  4. Java添加、读取Excel公式

    操作excel表格用公式来处理数据时,可通过创建公式来运算数据,或通过读取公式来获取数据信息来源.本文以通过Java代码来演示在Excel中创建及读取公式的方法.这里使用了Excel Java类库(F ...

  5. Salesforce LWC学习(十) 前端处理之 list 处理

    本篇参看:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array list是我们经 ...

  6. Redis系列(一):Redis简介及环境安装

    提到Redis,大家肯定都听过,并且应该都在项目中或多或少的使用过,也许你觉得Redis用起来挺简单的呀,但如果有人问你下面的几个问题(比如同事或者面试官),你能回答的上来吗? 什么是Redis? R ...

  7. Go Web 编程之 模板(一)

    概述 模板引擎是 Web 编程中必不可少的一个组件.模板能分离逻辑和数据,使得逻辑简洁清晰,并且模板可复用.引用第二篇文章<程序结构>一文中的图示,我们可以看到模板引擎在 Web 程序结构 ...

  8. 最大的 String 字符长度是多少?

    String 类可以说是在 Java 中使用最频繁的类了,就算是刚刚接触 Java 的初学者也不会陌生,因为对于 Java 程序来说,main 方法就是使用一个 String 类型数组来作为参数的(S ...

  9. SpringBoot入门(一)

    1 简介 Spring Boot是快速搭建Spring工程的脚手架,简化配置与依赖关系(约定大于配置),让我们把精力集中在业务部分 2 简单入门事例 创建一个Hello World的Web工程 2.1 ...

  10. 让vue-router渲染为指定的标签

    <router-link :to="{name:'cart'}" tag="li"> cart </router-link> 在rout ...