【译】1. Java反射——引言
原文地址:http://tutorials.jenkov.com/java-reflection/index.html

*By Jakob Jenkov
Java的反射机制使得它可以在运行时检查类、接口、字段、方法,而在编译时并不不知道它们的名称。也可以通过反射实例化新的对象,调用方法,get/set字段的值。
Java的反射机制非常强大而且非常有用。对实例而言,在运行时可以映射对象到数据库中的表,就和 Butterfly Persistence 做的一样。或者,在运行时将脚本中的语句映射到真实对象上的方法调用,就和 Butterfly Container 在解析它的配置脚本时做的一样。
在互联网上已经有很多关于Java反射的教程了。然而,包括Sun公司提供的在内,大多数Java反射教程都只涉及了Java反射的表面和Java反射机制的可能性。
本教程将比我之前看到的大多数教程更深层次的触及Java的反射机制。我将解释Java反射的基本知识,包括如何使用数组、注解、泛型、动态代理、类的动态加载和重新加载。也会告诉你该如何做一些比较具体的事情,如读取类的所有getter方法,或者访问类的私有字段和方法。本教程也会澄清一些在运行时哪些泛型信息可用的困惑。有些人声称,所有的泛型信息在运行时都丢失了。这中理解是不对的。
本教程将基于Java 6介绍Java的反射机制。
- Java反射例子
在这里有一个快速使用Java反射的例子展示了使用反射时的样子:
Method[] methods = MyObject.class.getMethods();
2 for(Method method : methods){
3 System.out.println("method = " + method.getName());
4 }
在这个例子中得到了MyObject的Class对象。这个例子通过Class对象获取了MyObject类中的方法列表,并且迭代打印出了各个方法的方法名。
这一切究竟是如何工作将在整个教程的剩余部分中进一步阐述(在其他文章中)。
- 目录
这是一个本教程到目前为止涵盖的主题列表:
- Java反射——引言
- Java反射——Class对象
- Java反射——构造函数
- Java反射——字段
- Java反射——方法
- Java反射——Getter和Setter
- Java反射——私有字段和私有方法
- Java反射——注解
- Java反射——泛型
- Java反射——数组
- Java反射——动态代理
- Java反射——类的动态加载和重新加载
(敬请期待下一篇翻译)
【译】1. Java反射——引言的更多相关文章
- Java反射——引言
Java反射——引言 原文地址:http://tutorials.jenkov.com/java-reflection/index.html *By Jakob Jenkov Java的反射机制使得它 ...
- 【译】2. Java反射——Class对象
原文地址:http://tutorials.jenkov.com/java-reflection/classes.html ====================================== ...
- 【译】3. Java反射——构造函数
原文地址:http://tutorials.jenkov.com/java-reflection/constructors.html ================================= ...
- 【译】4. Java反射——字段
原文地址:http://tutorials.jenkov.com/java-reflection/fields.html ======================================= ...
- 【译】5. Java反射——方法
原文地址:http://tutorials.jenkov.com/java-reflection/methods.html ====================================== ...
- 【译】6. Java反射——Getter和Setter
原文地址:http://tutorials.jenkov.com/java-reflection/getters-setters.html ============================== ...
- 【译】7. Java反射——私有字段和私有方法
原文地址:http://tutorials.jenkov.com/java-reflection/private-fields-and-methods.html =================== ...
- 【译】8. Java反射——注解
原文地址:http://tutorials.jenkov.com/java-reflection/annotations.html ================================== ...
- 【译】9. Java反射——泛型
原文地址:http://tutorials.jenkov.com/java-reflection/generics.html ===================================== ...
随机推荐
- 【Linux】【Java】CentOS7安装最新版Java1.8.191运行开发环境
1.前言 本来在写[Linux][Apatch Tomcat]安装与运行.都快写完了. 结果...我忘记安装 Java 环境 然后...新开了博客编辑页面. 最后...我的那个没了...没了...真的 ...
- 基于Git项目管理客户端SourceTree的免注册安装及远程连接方法
作为程序员,不可避免的要在github上查询代码,而在企业项目中,为了使得项目好管理需要使用项目管理客户端,所以接下来详细讲解一下基于git的sourceTree在windows系统下的安装及与Git ...
- Docker Data Center系列(二)- UCP安装指南
本系列文章演示如何搭建一个mini的云平台和DevOps实践环境. 基于这套实践环境,可以部署微服务架构的应用栈,演练提升DevOps实践能力. 1 系统要求 1.1 硬件和软件要求 Linux内核版 ...
- 利用ZYNQ SOC快速打开算法验证通路(3)——PS端DMA缓存数据到PS端DDR
上篇该系列博文中讲述W5500接收到上位机传输的数据,此后需要将数据缓存起来.当数据量较大或者其他数据带宽较高的情况下,片上缓存(OCM)已无法满足需求,这时需要将大量数据保存在外挂的DDR SDRA ...
- 协程demo,1异步爬网页 2异步socket请求
一.异步爬网页 ''' 协程并发爬网页 ''' from urllib import request import gevent,time from gevent import monkey # 让g ...
- .NET CORE学习笔记系列(3)——ASP.NET CORE多环境标识
在开发项目的过程当中,生产环境与调试环境的配置是不一样的.比如连接字符串. ASP .NET CORE 支持利用环境变量来动态配置 JSON 文件.ASP.NET Core 引用了一个特定的环境变量 ...
- kubernetes 集群安装etcd集群,带证书
install etcd 准备证书 https://www.kubernetes.org.cn/3096.html 在master1需要安装CFSSL工具,这将会用来建立 TLS certificat ...
- UVA - 11374 - Airport Express(堆优化Dijkstra)
Problem UVA - 11374 - Airport Express Time Limit: 1000 mSec Problem Description In a small city c ...
- ESP8266当中继
WiFi推原理(转) http://jb.tongxinmao.com/Article/Detail/id/412 https://www.anywlan.com/thread-409913-1-1. ...
- Mac下MySql初始密码设置及mysql数据库操作
1. 首先 点击系统偏好设置 -> 点击MySQL, 在弹出的页面中,关闭服务.2. 进入终端命令输出: cd /usr/local/mysql/bin/ 命令,回车.3. 回车后,输入命令:s ...