Java反射常用API汇总
“JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性”
一、类对象的获取
1.通过对象获取
Object obj = new Object();
obj.getClass();
2.通过类名获取
Object.class;
3.通过类的路径名获取
Class.forName("com.metadata.Student");
二、类的实例化和构造函数
获取到的class对象可以直接通过clazz.newInstance()方法实例化,但是需要目标类有默认无参构造函数,不然会抛出异常。
在类没有默认无参构造函数,或者需要某个具体的构造函数来实例化的情况,需要通过Constructor类的newInstance()来完成。
1.获取公有构造函数,不包括父类
//Class
public Constructor<?>[] getConstructors()
public Constructor<T> getConstructor(Class<?>... parameterTypes)
2.获取当前类构造函数,忽略修饰符
//Class
public Constructor<?>[] getDeclaredConstructors()
public Constructor<T> getDeclaredConstructor(Class<?>... parameterTypes)
构造函数调用
//Constructor
public T newInstance(Object... initargs)
//忽略修饰符,强制调用
public void setAccessible(boolean flag)
三、类成员变量的获取
1.获取公有变量,包括父类
//Class
public Field[] getFields()
public Field getField(String name)
2.获取当前类成员变量,忽略修饰符
//Class
public Field[] getDeclaredFields()
public Field getDeclaredField(String name)
成员变量赋值
//Field
//obj为实例对象
public void set(Object obj,Object value)
//忽略修饰符,强制调用
public void setAccessible(boolean flag)
四、类方法的获取
1.获取公有方法,包括父类
//Class
public Method[] getMethods()
public Method getMethod(String name,
Class<?>... parameterTypes)
2.获取当前类方法,忽略修饰符
//Class
public Method[] getDeclaredMethods()
public Method getDeclaredMethod(String name,
Class<?>... parameterTypes)
方法调用
//Method
//obj为类实例化对象,如果为静态方法obj为Null
invoke(Object obj, Object... args)
//忽略修饰符,强制调用
public void setAccessible(boolean flag)
Java反射常用API汇总的更多相关文章
- java selenium常用API汇总
(WebElement.iFrame.select.alert.浏览器窗口.事件.js) 一 WebElement相关方法 1.点击操作 WebElement button = driver. ...
- 反射常用API
反射所有功能都是通过class API来实现的 class常用API有: 1.class.GETINTERFACES():获得这个类实现的接口. 2.class.getMethods() Method ...
- 反射常用API以及内省机制(代码)
学习内容: (1)获取构造函数 这里不贴Person类了,不然代码太多太乱了,只给出一些常用API // 创建字节码对象 Class<?> aClass = Class.forName(& ...
- Java 之常用API(一)
常用API 1 API概述 2 Scanner类与String类 3 StringBuilder类 NO.one API概述 1.1 API概述 API(Application Programm ...
- Java反射常用示例
package xmq.study.reflection; import java.lang.annotation.Annotation; import java.lang.reflect.Const ...
- Java之常用API
API概述 什么是API API (Application Programming Interface) :应用程序编程接口 java中的API 指的就是 JDK 中提供的各种功能的 Java类,这些 ...
- java poi reader常用API汇总
注意:(1)判断行的最大数量建议使用sheet.getLastRowNum();(2)判断每行最大列数建议使用row.getLastCellNum(); [JAVA]特别注意,POI中getLastR ...
- Java 之常用API(二)
Object类 & System类 日期相关类 包装类 & 正则表达式 Object类 & System类 1.1 Object类 1.1.1 概述 Object类是Java语 ...
- Java 基础 常用API (Object类,String类,StringBuffer类)
Java API Java 的API(API: Application(应用) Programming(程序) Interface(接口)) Java API就是JDK中提供给我们使用的类,这些类将底 ...
随机推荐
- Android学习记录(9)—Android之Matrix的用法
Matrix ,中文里叫矩阵,高等数学里有介绍,在图像处理方面,主要是用于平面的缩放.平移.旋转等操作. 首先介绍一下矩阵运算.加法和减法就不用说了,对应位相加就好.图像处理,主要用到的是乘法 .下面 ...
- Nuget.config格式错误,请检查nuget.config配置文件
安装 VS 2015 Professional 版,安装后,我想加一个nuget的包配置. 然后提示我:Nuget.config格式错误,请检查nuget.config配置文件 我找到了 Nuget. ...
- C语言中强制类型转换总结
C语言中强制类型转换总结 ● 字符型变量的值实质上是一个8位的整数值,因此取值范围一般是-128-127,char型变量也可以加修饰符unsigned,则unsigned char 型变量的取值范围 ...
- 使用jquery validate结合zui作表单验证
1.引入jquery validate和zui <!-- jQuery (ZUI中的Javascript组件依赖于jQuery) --> <script src="${_b ...
- 孤荷凌寒自学python第十八天python变量的作用范围
孤荷凌寒自学python第十八天python函数的形参与变量的范围 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.在python的函数中各种不同的形式参数在定义的先后顺序上有规定: 必须 ...
- ironic的自动化脚本
# -*- coding:utf-8 -*- import json import subprocess import os import time import random trunk_start ...
- bitbucket相关操作
常见命令: git checkout -b develop master 创建Develop分支的命令 git checkout master 切换到Master分支 git merge --no-f ...
- Vue-cli 本地开发请求https 接口 DEPTH_ZERO_SELF_SIGNED_CERT
环境:npm run dev 本地开发连接后台的开发环境的接口. 贴上proxyTable 的转发(代理?反向?这个具体叫什么不明白...) proxyTable: { "/api" ...
- HDU 1556 Color the ball (树状数组区间更新)
水题,练习一下树状数组实现区间更新. 对于每个区间,区间左端点+1,右端点的后一位-1,查询每个位置的覆盖次数 #include <cstdio> #include <cstring ...
- HDU 3336 Count the string ( KMP next函数的应用 + DP )
dp[i]代表前i个字符组成的串中所有前缀出现的次数. dp[i] = dp[next[i]] + 1; 因为next函数的含义是str[1]~str[ next[i] ]等于str[ len-nex ...