1.反射的基本概念
Java反射是一种机制,它允许程序在运行时动态地获取和操作类、对象、方法和属性等元数据信息。通过反射,可以在程序运行时检查和调用类的方法、访问和修改对象的属性,以及实例化对象等。
2.反射中Class、Method、Field等类的作用
①在运行时动态加载类:通过Class.forName()方法可以根据类名动态加载类,并获取该类的Class对象。
②调用类的方法:通过Method类可以在运行时动态地调用类的方法,包括私有方法。
③访问和修改对象的属性:通过Field类可以在运行时动态地访问和修改对象的属性,包括私有属性。
④创建对象实例:通过Constructor类可以在运行时动态地实例化对象,包括私有构造方法。
3.反射的使用案列
3.1获取Class对象的三种方法:
①创建一个实体类对象,调用其.getClass()方法
②调用实体类的.Class()方法
③使用Class类的.forName()方法
注意:三种方法获得的Class是一样的
3.2获取构造方法
Message类中的构造方法(5种)
获取构造方法
测试结果
3.3获取成员变量
Message类中的变量
获取变量
测试结果
3.4获取成员方法
Message中的方法
获取方法
测试结果
4.总结
反射可以很方便的得到一个实体类中的构造方法、变量、以及成员方法,是学习java时最重要的知识之一。