请解释什么是Java反射机制,并给出实际例子。

原创 不念不忘少年蓝@ 2025-03-15 19:06 29阅读 0赞

Java反射机制是Java语言提供的一种能力,使得程序在运行状态可以动态地获取类的信息(如方法、字段等);并且还可以对这些信息进行操作。

以下是一个具体的反射例子:

  1. // 创建一个类
  2. public class Person {
  3. private String name;
  4. // 构造函数
  5. public Person(String name) {
  6. this.name = name;
  7. }
  8. // 获取名字的方法
  9. public String getName() {
  10. return name;
  11. }
  12. }
  13. // 在运行时,获取Person类的信息
  14. try {
  15. Class<?> clazz = Class.forName("Person"); // 获取Person类
  16. // 创建Person对象的实例
  17. Object obj = clazz.newInstance(); // Person类无参构造函数,所以直接new即可
  18. // 获取并打印名字
  19. Method getNameMethod = clazz.getMethod("getName"); // 获取getName方法
  20. String name = (String) getNameMethod.invoke(obj); // 调用invoke方法获取值
  21. System.out.println(name); // 打印名字
  22. } catch (Exception e) {
  23. e.printStackTrace();
  24. }

这个例子中,我们首先通过Class.forName()方法获取了类Person的信息。然后使用Object.class.newInstance()创建了一个Person对象的实例。

接着,通过反射获取了getName方法,并调用invoke(obj, null))来获取并打印出名字。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,29人围观)

还没有评论,来说两句吧...

相关阅读