【面向对象】——基础概念回顾之反射

基础概念回顾

  • 反射
    • 一句话解释什么是反射
    • 为什么要使用反射?
    • 反射的优缺点
    • 反射的应用场景
    • 反射代码实战

反射

一句话解释什么是反射

 反射是Java中的动态相关机制,可以在运行时获得类的构造函数、成员变量和方法的信息,也可以动态创建对象、调用方法、获取或设置成员变量的值,甚至可以调用私有成员变量和方法。

为什么要使用反射?

当我们的程序在运行时,需要动态的加载一些类,这些类可能之前用不到所以不用加载到jvm,而是在运行时根据需要才加载。这个时候反射机制就派上用途了,我们可以通过完全限定名让JVM在服务器找到这个类并进行加载,而不需要在代码里写死。从而体现了Java语言的动态性。

反射的优缺点

  1. 优点:高度灵活、可扩展、可复用、可维护
  2. 缺点:性能会下降,增加了安全问题

反射的应用场景

反射是框架设计的灵魂,很多框架的应用都用到了反射原理。

  1. spring中的xml配置装载bean
  2. JDBC数据库连接数据库时通过Class.forName() 用反射加载数据库驱动
  3. Java动态代理机制
  4. ……

反射代码实战

https://github.com/Cindy0209/design_pattern

你可能感兴趣的:(计算机基础,编程思想,java,jvm,开发语言)