java反射专题二
一丶Class中常用方法详解
1)getFields()
只能获取到运行时类中及其父类中声明为public的属性
获取运行时类本身声明的所有属性
3)getMethods()
获取运行时类中及其父类中声明为public的方法
获取运行时类本身声明的所有方法
5)getSuperclass()
获取运行时类的父类
获取运行时类带泛型的父类
7)获取运行时类的父类的泛型如下:
Class clazz = Person.class;
Type type = clazz.getGenericSuperclass();//获取带泛型的父类
ParameterizedType param = (ParameterizedType)type;//强转为子类
Type[] ars = param.getActualTypeArguments();//获得父类的泛型,可能有多个,例如map<k,v>
System.out.println(((Class)ars[0]).getName()); //Class是Type接口的实现类,所以可以强转,输出父类的泛型
8)getInterfaces()
获取运行时类实现的接口
9)getPackage()
获取运行时类所在的包
10)getAnnotations()
获取运行时类的注解
二丶Field中常用方法详解
1)getModifiers()
获得属性的权限修饰符,返回对应的整数形式
2)getType()
获取属性的类型,返回的是Class对象
3)getName()
获取属性名
三丶Method中常用方法详解
获取方法上的所有注解
2)getName()
获取方法名
3)getModifiers()
获得方法的权限修饰符,返回对应的整数形式
4)getReturnType()
获取方法的返回值类型,返回的是Class对象
获取方法的形参类型,返回的是Class[] 对象
获取方法的抛出异常类型,返回的是Class[] 对象
java反射专题二的更多相关文章
- 乐字节Java反射之二:实例化对象、接口与父类、修饰符和属性
大家好,小乐继续接着上集:乐字节Java反射之一:反射概念与获取反射源头Class 这次是之二:实例化对象.接口与父类.修饰符和属性 一:实例化对象 之前我们讲解过创建对象的方式,有new .克隆.反 ...
- java反射专题一
一丶Class的理解 /* * Class类是反射的源头 * 创建一个类,通过编译(javac.exe),生成对应的.class文件,之后使用java.exe加载(JVM的类加载器完成的)此.clas ...
- Java 反射(二)运行时获取类的信息
目录 一.获得类的运行时结构 1. 获得类的名字 2. 获得类的属性 获取属性列表 获取指定属性 3. 获取类的方法 获得类的方法列表 获得指定方法 4. 获得的构造器 获得构造器列表 获得指定构造器 ...
- Java 反射(二)
作者:郑剑锋链接:https://www.zhihu.com/question/24304289/answer/147529485来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...
- Java反射《二》获取构造器
package com.study.reflect; import java.lang.reflect.Constructor; import java.lang.reflect.Invocation ...
- Java反射机制二 获取方法的返回值或参数的泛型信息
在使用反射机制时,我们经常需要知道方法的参数和返回值类型,很简单 ,下面上示例,示例中的两个方法非常相似 package deadLockThread; import java.lang.refle ...
- Java反射学习二
利用反射进行对象拷贝的例子 如下例程ReflectTester类进一步演示了Reflection API的基本使用方法. ReflectTester类有一个copy(Object object)方法, ...
- [Java反射基础二]获取类的信息
本文接上文“Class类的使用”,以编写一个用来获取类的信息(成员函数.成员变量.构造函数)的工具类来讲解"反射之获取类的信息" 1.获取成员函数信息 /** * 获取成员函数信息 ...
- java反射(二)
java的很多框架都是基于反射的.
随机推荐
- vue中编辑代码是不注意格式时会报错
1.是因为我们使用了eslint的代码规范,我们不要使用这种规范就好 2.在build目录下找到webpack.base.conf.js 在里面找到关于eslint的相关配置注释或移除掉就好
- StringToInt(atoi) 字符串转换成整数
public class StringToInt { public int atoi(String s) { long num = 0; int minus = 0; if(s==null) { re ...
- Django---model基础(单表)
ORM 一.映射关系: 表名<--------------->类名 字段<-------------->属性 表记录& ...
- Android使用SVG小结
SVG的全称是Scalable Vector Graphics,叫可缩放矢量图形.它和位图(Bitmap)相对,SVG不会像位图一样因为缩放而让图片质量下降.它的优点在于节约空间,使用方便. andr ...
- 搜索6--noi1700:八皇后问题
搜索6--noi1700:八皇后问题 一.心得 二.题目 1756:八皇后 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 会下国际象棋的人都很清楚:皇后可以 ...
- Eclipse集成c与c++
1.eclipse 开普勒版本 2.安装mingw 3.配置环境变量mingw的 path 加入;C:\MinGW\bin 4.eclipse 中的市场搜索 CDT
- android中shape的属性
<shape> <!– 实心 –> <solid android:color=”#ff9d77″/> <!– 渐变 –> <gradient an ...
- 导入的Android项目出现红色感叹号
[原因] 项目中存在导入包,在项目导入之后,classpath指向的包路径出现错误,即需要重新Bulidpath [解决方式] 右键项目名称 BuildPath —> Configure B ...
- SVN客户端与服务器端搭建
一.客户端安装 1.点击安装程序 2.修改svn安装位置 3.开始安装 4.安装完成 5.回到左面 右键出现svn检出 tortoiSVN 表示安装成功 二.SVN服务端安装 1.点击服务端安装 ...
- Unity3D自定义资源配置文件
http://blog.csdn.net/candycat1992/article/details/52181814 写在前面 我竟然最近两天才知道Unity中ScriptableObject的存在… ...