反射(3)——为什么用反射?!!
来源:互联网 发布:苹果手机怎么抹除数据 编辑:程序博客网 时间:2024/06/08 16:29
1: 通俗定义
反射:就是通过class文件对象,去使用该文件中的成员变量,构造方法,成员方法。
就像我喜欢一个人我得知道他喜欢什么,爱吃什么,活动地点,而class文件对象就像我喜欢的那个人的qq,微信,我可以从qq,微信知道他喜欢什么,爱吃什么,活动地点一些信息。
2:得到Class类的对象
要想这样使用,首先你必须得到class文件对象,其实也就是得到Class类的对象。
* Class类:
* 成员变量 Field
* 构造方法 Constructor
* 成员方法 Method
3 :获取class文件对象的方式
A:Object类的getClass()方法 B:数据类型的静态属性class C:Class类中的静态方法public static Class forName(String className)
- 一般我们到底使用谁呢?
- A:自己玩 任选一种,第二种比较方便
- B:开发 第三种
- 为什么呢?因为第三种是一个字符串,而不是一个具体的类名。这样我们就可以把这样的字符串配置到配置文件中。
*/
public class ReflectDemo { public static void main(String[] args) throws ClassNotFoundException { // 方式1 Person p = new Person(); Class c = p.getClass(); Person p2 = new Person(); Class c2 = p2.getClass(); System.out.println(p == p2);// false System.out.println(c == c2);// true // 方式2 Class c3 = Person.class; // int.class; // String.class; System.out.println(c == c3); // 方式3 // ClassNotFoundException Class c4 = Class.forName("cn.itcast_01.Person"); System.out.println(c == c4); }}
4: 反射机制能做什么
反射机制主要提供了以下功能:
- 在运行时判断任意一个对象所属的类;
- 在运行时构造任意一个类的对象;
- 在运行时判断任意一个类所具有的成员变量和方法;
- 在运行时调用任意一个对象的方法;
- 生成动态代理。
阅读全文
0 0
- 反射(3)——为什么用反射?!!
- 反射(3)—动态、静态代理
- Java中的反射——(1)什么是反射
- Java反射机制——反射的介绍(一)
- Go编程基础—反射(reflection)反射三定律
- 反射(1)—基本知识
- Java反射机制--是什么,为什么,怎么用。
- Java反射机制--是什么,为什么,怎么用。
- 为什么使用反射
- 为什么要使用反射
- Java反射学习总结(3)——反射的基本操作
- 黑马程序员——高新技术(反射,用反射获取构造函数、方法等)
- java反射1——反射源头
- java反射——反射Annotation
- java反射(3):反射机制
- 高新技术——反射
- java——反射
- JavaSe——反射
- IntelliJ IDEA 2017.1.4 License Server
- 单片机时钟程序(9)lcd1602.h
- POJ 1027--The Same Game
- 【数据压缩】MPEG音频编码
- 快速排序
- 反射(3)——为什么用反射?!!
- 7.4---SSH之Hibernate初始篇
- C++并发编程框架Theron(1)——Actor模型介绍
- C—HelloWorld
- Linux系统编程——进程间通信:共享内存
- HTML5之WebSQL
- 码农与程序员
- 神经网络架构演进史:全面回顾从LeNet5到Googlenet,resnet,fractalnet,ENet十余种架构
- 【程序员面试宝典】链表相关面试题