记录一下有关 Class 对象的相关方法:

1、获取 Class 对象的三个方法:

⑴ 使用 Class.forName("全限定类名") ,参数是该类的全限定类名,可拓展性强;

⑵ 直接通过 “.class” 获取;

⑶ 通过Object 类的 getClass() 方法。

2、获取 Class 对象的成员变量 Field.

⑴ getFields()  :获取所有 public 权限的成员变量

⑵ getDeclaredFields:获取所有已声明的成员变量

⑶ getField(String name):获取指定的 public 权限成员变量

⑷ getDeclaredFiled(String name):获取指定的已声明成员变量

⑸ Field 类中的 get(Object obj) 方法可以从指定的 Class对象中获取到已有的值,但必须确保这个成员变量是静态的。

3、获取成员方法,这里不再详细介绍,仅记录有这个方法.

⑴ getMethod(String methodName,Class<?>... paramterType):获取单个 public 方法,参数顾名思义;

⑵ getMethods(): 获取所有 public 方法;

⑶ getDeclaredMethods():和成员变量获取同理

⑷ getDeclaredMethod(Stribg methodName,Class<?>... paramterType) :获取单个已声明方法。

⑸ getEnclosingMethod() :这个比较复杂,不讨论

注:仅记录供参考,并未实际编码验证。

java 反射随记的更多相关文章

  1. 【设计模式】学习笔记17:代理模式之保护代理与Java反射

    本文出自   http://blog.csdn.net/shuangde800 本笔记内容: 1. Java动态代理,反射机制 2. 保护代理 3. 应用保护代理实现的约会系统 ----------- ...

  2. java 反射与其应用

    前言: 目标:对于我个人而言 我希望能由以下途径达到最终目标  清楚反射的概念以及为什么要用反射技术 -> java的反射技术 -> java反射技术涉及到的类 -> java反射技 ...

  3. java反射和代理

    这一篇我们说说反射和动态代理,为什么这两个要一起说呢?因为动态代理中会用到反射,而且java中反射的用处太多了,基本上无处不在,而且功能十分强大: 1.反射简介 反射是什么呢?一般都是很专业的说法:在 ...

  4. Java反射【一、概述】

    .net也使用过反射,不过用的比较浅显,用来记日志等.. Java基础课程学习已经过了一段时间了,接下来继续学习 本次学习包含以下内容 Java反射[一.概述] Java反射[二.Class类的使用] ...

  5. 深入分析Java反射(六)-反射调用异常处理

    前提 Java反射的API在JavaSE1.7的时候已经基本完善,但是本文编写的时候使用的是Oracle JDK11,因为JDK11对于sun包下的源码也上传了,可以直接通过IDE查看对应的源码和进行 ...

  6. JAVA反射概念及使用详解(超详细)

    JAVA反射概念及使用详解 一.什么是反射? 反射:框架设计的灵魂 框架:半成品软件.可以在框架的基础上进行软件开发,简化编码 反射:将类的各个组成部分封装为其他对象,这就是反射机制 ​ 好处: ​ ...

  7. 读懂框架设计的灵魂—Java反射机制

    尽人事,听天命.博主东南大学硕士在读,热爱健身和篮球,乐于分享技术相关的所见所得,关注公众号 @ 飞天小牛肉,第一时间获取文章更新,成长的路上我们一起进步 本文已收录于 CS-Wiki(Gitee 官 ...

  8. Java反射给泛型集合赋值

    Java反射给泛型集合赋值 泛型 Java泛型简单描述下: 比如创建一个List集合,我想在里边只放Student对象信息,就需要写成 List<Student> studentList ...

  9. 第28章 java反射机制

    java反射机制 1.类加载机制 1.1.jvm和类 运行Java程序:java 带有main方法的类名 之后java会启动jvm,并加载字节码(字节码就是一个类在内存空间的状态) 当调用java命令 ...

随机推荐

  1. (1)Consul在linux环境的集群部署

    1.Consul概念 1.1什么是Consul? Consul是一种服务网格解决方案,是HashiCorp公司推出的开源组件,由Go语言开发,部署起来很容易,只需要极少的可执行程序和配置.同时Cons ...

  2. 【五校联考1day2】JZOJ2020年8月12日提高组T2 我想大声告诉你

    [五校联考1day2]JZOJ2020年8月12日提高组T2 我想大声告诉你 题目 Description 因为小Y 是知名的白富美,所以自然也有很多的追求者,这一天这些追求者打算进行一次游戏来踢出一 ...

  3. PyQt(Python+Qt)学习随笔:containers容器类部件QMdiArea多文档界面的QMdiSubWindow子窗口相关属性和操作方法

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 1.增加子窗口 QMdiArea中的子窗口类型是QMdiSubWind ...

  4. Monkey的使用

    1.进入adb shell 环境 在Windows环境下进入DOS界面,输入adb shell 注意:adb shell服务使用的端口是5037,如果此端口被其他进程占用时,将不能正常启动adb sh ...

  5. AutumnWater 秋水SRC平台

    持续给自己挖坑,简单介绍一下AutumnWater 秋水SRC平台趴: SRC开源漏洞响应平台 AutumnWater 秋水SRC平台 后端使用Python-Flask(蓝图)编写 前端使用少量VUE ...

  6. Redis数据库简介

    最近的项目需要用到Redis数据库和MySQL,恶补学习. Redis的使用手册可以看: https://redis.io/ https://www.runoob.com/redis/redis-tu ...

  7. [SUCTF 2019]Game

    buuoj杂项复现 下载了之后给了我们一张图片了网站的源代码 图片简单分析了之后没有什么内容,先看源代码的index.html 里面有base32编码,解码 ON2WG5DGPNUECSDBNBQV6 ...

  8. IAR FOR STM8 同一个工程芯片选择003F3可以编译003K3提示空间不足

    同一个工程文件,选择103F3可以编译通过,但是选择103K3便提示空间不足 百思不得其解,查阅大量资料无果.最后在IAR工程里面找到了配置文件 打开003f3的配置文件和003K3配置文件进行对比, ...

  9. 最简单的Go Dockerfile编写姿势,没有之一!

    1. Dockerfile一些额外注意点 选择最简单的镜像 比如alpine,整个镜像5M左右 设置镜像时区 RUN apk add --no-cache tzdata ENV TZ Asia/Sha ...

  10. ELK-Kibana汉化

    https://github.com/anbai-inc/Kibana_Hanization  补丁包 教程:1:首先,我们先杀死了Kibana进程,其实,教程说不用重启或关闭Kibana,但是,我们 ...