反射学习的总结

百度的反射的定义
Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制。
简单来说,反射就是类的各种信息例如成员变量,成员方法,构造方法封装为一个class对象,当new 这个类获得一个对象时可以通过获取class对象的信息。比如创建一个字符串,相当于创建一个字符串对象,String str="abc";当使用IDE编辑器编写输入str.后面就会有许多提示,都是关于String类的全部方法等信息,这些信息就是由class对象给来的,这就是利用了反射机制。
深入理解反射还要了解Java代码在计算机中经历的三个阶段

  1. source源代码阶段
    当编写好一个Java类的时候,通过编译没有错误时,就会创建一个.class文件

  2. Class类对象阶段,
    jvm会通过类加载器从磁盘找到.class文件并加载进内存中。(一个类只能有一个class对象)

  3. 运行期阶段
    由新建的对象进行操作等等,新建的对象信息可以由class对象反向获取。

在这里插入图片描述

反射的好处:

  • 在程序运行期间,可以操作class类的对象,就是上面说的IDE中的提示功能
  • 可以解耦,提高程序可扩展性

获取class对象的方式:

  • 源文件阶段:Class.forname(“全类名”) 将字节码加载进内存,返回Class对象

  • Class加载进了内存阶段: 类名.class

  • 运行阶段:对象.getClass() (object中定义)

发布了5 篇原创文章 · 获赞 3 · 访问量 43
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览