一丶Class中常用方法详解

1)getFields()

只能获取到运行时类中及其父类中声明为public的属性

2)getDeclaredFields()

获取运行时类本身声明的所有属性

3)getMethods()

获取运行时类中及其父类中声明为public的方法

4)getDeclaredMethods()

获取运行时类本身声明的所有方法

5)getSuperclass()

获取运行时类的父类

6)getGenericSuperclass()

获取运行时类带泛型的父类

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中常用方法详解

1)getAnnotations()

获取方法上的所有注解

2)getName()

获取方法名

3)getModifiers()

获得方法的权限修饰符,返回对应的整数形式

4)getReturnType()

获取方法的返回值类型,返回的是Class对象

5)getParameterTypes()

获取方法的形参类型,返回的是Class[] 对象

6)getExceptionTypes()

获取方法的抛出异常类型,返回的是Class[] 对象

java反射专题二的更多相关文章

  1. 乐字节Java反射之二:实例化对象、接口与父类、修饰符和属性

    大家好,小乐继续接着上集:乐字节Java反射之一:反射概念与获取反射源头Class 这次是之二:实例化对象.接口与父类.修饰符和属性 一:实例化对象 之前我们讲解过创建对象的方式,有new .克隆.反 ...

  2. java反射专题一

    一丶Class的理解 /* * Class类是反射的源头 * 创建一个类,通过编译(javac.exe),生成对应的.class文件,之后使用java.exe加载(JVM的类加载器完成的)此.clas ...

  3. Java 反射(二)运行时获取类的信息

    目录 一.获得类的运行时结构 1. 获得类的名字 2. 获得类的属性 获取属性列表 获取指定属性 3. 获取类的方法 获得类的方法列表 获得指定方法 4. 获得的构造器 获得构造器列表 获得指定构造器 ...

  4. Java 反射(二)

    作者:郑剑锋链接:https://www.zhihu.com/question/24304289/answer/147529485来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  5. Java反射《二》获取构造器

    package com.study.reflect; import java.lang.reflect.Constructor; import java.lang.reflect.Invocation ...

  6. Java反射机制二 获取方法的返回值或参数的泛型信息

    在使用反射机制时,我们经常需要知道方法的参数和返回值类型,很简单  ,下面上示例,示例中的两个方法非常相似 package deadLockThread; import java.lang.refle ...

  7. Java反射学习二

    利用反射进行对象拷贝的例子 如下例程ReflectTester类进一步演示了Reflection API的基本使用方法. ReflectTester类有一个copy(Object object)方法, ...

  8. [Java反射基础二]获取类的信息

    本文接上文“Class类的使用”,以编写一个用来获取类的信息(成员函数.成员变量.构造函数)的工具类来讲解"反射之获取类的信息" 1.获取成员函数信息 /** * 获取成员函数信息 ...

  9. java反射(二)

    java的很多框架都是基于反射的.

随机推荐

  1. Ubuntu 16.04 安装 RabbitMQ

    Ubuntu 16.04 安装 RabbitMQ(注意,服务器安全组需要添加15672 和5672端口) #1 更新 $ sudo apt-get update$ sudo apt-get upgra ...

  2. matlab学习笔记,图像分块

    clc; clear all; close all; I = imread('E:\matlab\files-images\tomsen512.jpg'); rs = size(I, 1);% 行数c ...

  3. JMeter-Window10系统下设置环境变量

    首先我们右击此电脑(我的电脑),点击属性   接下来我们就可以进入到控制面板主页,点击[高级系统设置]   在系统属性里面,点击[环境变量]按钮   在环境变量里面,点击[新建]按钮   接下来我们输 ...

  4. 利用虚拟网桥实现Docker容器的跨主机访问

    最近在研究Docker,Docker的网络配置是比较令人头疼的部分,尤其是跨主机的容器间通信,很多解决方案都比较复杂,这里,我只用虚拟网桥来实现Docker的跨主机访问,分享出来,希望对Docker学 ...

  5. chromedriver驱动的浏览器和真实浏览器之间的差异

    一. 打印百度首页底部的声明 如图,想打印@2018 Baidu...后面的一长串文字,可以通过class name定位的形式 可以看出,只有一个class name是"copyright- ...

  6. 《Advanced Bash-scripting Guide》学习(十六):一个显示输入类型的脚本

    本文所选的例子来自于<Advanced Bash-scripting Gudie>一书,译者 杨春敏 黄毅 function show_input_type() { [ -p /dev/f ...

  7. poj 1324 状态压缩+bfs

    http://poj.org/problem?id=1324 Holedox Moving Time Limit: 5000MS   Memory Limit: 65536K Total Submis ...

  8. 从virustotal上下载病毒样本

    #!/usr/bin/env python import os import csv #import Queue import zipfile import requests import argpa ...

  9. mysql 授予远程连接直接访问

    不通过ssh通道,mysql 授予远程连接直接访问 语句 GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '!DSJdg!' WITH GR ...

  10. BW里转换简单常用ABAP

    用户查看的是当时的物料折让,那你必然要给物料加个时间,才好区分.总是以现在最新的物料状态查看历史数据会出现问题.当时这个物料是折让的,现在不折让了.数据会有问题.加个DSO.做一个时间记录.读取系统时 ...