Java教程

Java反射

本文主要是介绍Java反射,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

反射-Reflection

反射概念

Java 的反射机制是指在运行状态中:

  • 对任意一个类,都能够知道这个类的所有属性和方法
  • 对任意一个对象,都能调用这个对象的所有属性和方法

反射的作用

  • 检查类的属性和方法
  • 在运行时检查对象的类型
  • 动态构造某个类的对象
  • 可以任意调用对象的方法

反射的使用

1. java.lang.reflect 包中的三个类

  • Field:成员变量
  • Method:成员方法
  • Constructor:构造方法

2. 对 public 域的方法

包括父类成员。

  • getField
  • getMethod
  • getConstructor

3. 对其他域的方法

包括 private 和 protected 的成员,但不包括父类成员。

  • getDeclaredField
  • getDeclaredMethod
  • getDeclaredConstructor

利用反射访问私有属性:使用 setAccessible(true)

反射的不足

性能是一个问题。反射相当于一系列解释操作,通知 Java 虚拟机要做什么,性能比直接的 Java 要慢很多。

这篇关于Java反射的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!