林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankakay

摘要:本文详细深入讲解是Java中反射的机制,并介绍了如何通过反射来生成对象、调用函数、取得字段、设置字段的方法。最后,给出了一些反射常用到的实例。

一、反射

(1)概念

反射含义:可以获取正在运行的Java对象。

(2)功能

1)在运行时判断任意一个对象所属的类

2)在运行时构造任意一个类的对象

3) 在运行时判断任意一个类所具有的成员变量和方法

4)在运行时调用任意一个对象的方法

(3)实现Java反射的类

1)Class:它表示正在运行的Java应用程序中的类和接口

2)Field:提供有关类或接口的属性信息,以及对它的动态访问权限

3)Constructor:提供关于类的单个构造方法的信息以及对它的访问权限

4)Method:提供关于类或接口中某个方法信息

注意:Class类是Java反射中最重要的一个功能类,所有获取对象的信息(包括:方法/属性/构造方法/访问权限)都需要它来实现

(4)取得class的三种方法

Dog dog = new Dog();

Class> dogClass = dog.getClass();

Class> dogClass1 = Dog.class;

Class> dogClass2 = Class.forName("com.lin.Dog");//注意要添加异常抛出

(5)关键方法

方法关键字

含义

java反射类型转换_Java反射探索研究(转)相关推荐

  1. java反射类型转换_java反射(转)

    反射是框架设计的灵魂 (使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码)) 一.反射的概述 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道 ...

  2. java 反射代价_Java反射机制

    # 反射 ## 什么是反射 反射是Java提供的动态执行机制, 可以动态加载类, 动态创建对象, 动态访问属性, 动态调用方法.. 静态执行: Java代码经过编译以后就确定的执行次序, 称为静态执行 ...

  3. java 反射机制_Java反射机制原理探究

    反射是Java中的一个重要的特性,使用反射可以在运行时动态生成对象.获取对象属性以及调用对象方法.与编译期的静态行为相对,所有的静态型操作都在编译期完成,而反射的所有行为基本都是在运行时进行的,这是一 ...

  4. java反射模式_Java反射机制详解

    对于一般的开发者,很少需要直接使用Java反射机制来完成功能开发,但是反射是很多框架譬如 Spring, Mybatis 实现的核心,反射虽小,能量却很大. 本文主要介绍反射相关的概念以及API的使用 ...

  5. Java的反射作用_java反射机制的作用与优点

    java的反射机制就是增加程序的灵活性,避免将程序写死到代码里, 例如: 实例化一个 person()对象, 不使用反射, new person(); 如果想变成 实例化 其他类, 那么必须修改源代码 ...

  6. java映射理解_Java反射的理解

    Java反射的理解 反射之中包含了一个「反」字,所以想要解释反射就必须先从「正」开始解释. 一般情况下,我们使用某个类时必定知道它是什么类,是用来做什么的.于是我们直接对这个类进行实例化,之后使用这个 ...

  7. java反射方法_java反射之方法反射的基本操作方法

    本文接上文"java反射之获取类的信息方法(推荐)",利用反射(invoke)来获取一个类中的方法来执行. 1.定义一个类,包含三个名称相同,参数不同的方法 class A{ pu ...

  8. java 反射练习_JAVA反射的基础学习

    反射 :reflection 程序的一种内省机制 程序可以在运行期间动态的创建对象,获取对象类型,调用对象行为 内省机制在java和.net语言中有,在早期的C,C++,delphi,vb这些语言都没 ...

  9. java反射总结_java反射总结

    Class类的使用 1)在面向对象的世界里,万事万物皆对象 java语言中,静态的成员.普通数据类型不是对象 1.1 类是谁的对象呢?类是对象,类是java.lang.Class类的实例对象 1.2 ...

最新文章

  1. linux基础学习(二)
  2. pygame 移开的矩形留痕迹_Python之pygame学习矩形区域(5)
  3. 源码实战 | 本地可跑,上线就崩?慌了!
  4. python购物车程序-Python编写购物车程序
  5. 长文总结半监督学习(Semi-Supervised Learning)
  6. 防止cpu 一直被占用 sleep(0) 和 yield
  7. LeetCode 1089. 复写零
  8. Vuex 实战:如何在大规模 Vue 应用中组织 Vuex 代码 | 掘金技术征文
  9. AppCompat (AppCompatActivity) Jetpack
  10. 型机器人同人本子_唯美的人×机器人漫画《純情愛玩生化女友》
  11. bitvise ssh client 连接linux,secureCRT + Bitvise SSH Client实现ssh隧道远程
  12. 渗透测试培训--(小迪篇)
  13. Hamilton Jacobi
  14. HTML 转义字符nbsp; ensp; emsp;thinsp;zwnj;zwj;空格标记
  15. About Refactoring
  16. Excel 利用histogram统计数据频数
  17. [COPYRIGHT] 常见版权许可协议
  18. 同步电机相间互感推导
  19. 用树莓派搭建全功能NAS服务器(05):玩转影音看片整理大法
  20. 30秒接入一台PLC设备,用Shifu 快速实现工控软件编程

热门文章

  1. 算法基础11 —— 树入门(二叉树的遍历以及构造 + 普通树转换成二叉树 + 例题 + 二叉树的一些操作)
  2. 西门子博途软件TIA PORTAL不同版本安装在一台电脑上的个人总结
  3. P1425 小鱼的游泳时间 题解
  4. 巴西龟饲养日志-----饲料的选择
  5. ROS机器人建模与仿真(一)——URDF模型的建立和改进
  6. 学校考的计算机证怎么查询系统,软考证书查询网址是什么?怎么查询?
  7. 朋友圈终于能斗表情包了,会发表情包您就多发点!
  8. 【单片机笔记】运放电流检测实用电路
  9. 使用wcf编写坐标字符串生成shapefile文件,在iis发布供前端调用
  10. Word中录制宏,学会后成大神