java反射调用无参方法的问题

为什么运行如下代码第八行不会报错,而是调用a();
2025-02-23 10:14:31
推荐回答(2个)
回答1:

java.lang.Class.getDeclaredMethod()方法用法

注:方法返回一个Method对象,它反映此Class对象所表示的类或接口的指定已声明方法。

描述

java.lang.Class.getDeclaredMethod()方法返回一个Method对象,它反映此Class对象所表示的类或接口的指定已声明方法。

name 参数是一个字符串,指定所需的方法的简单名称,

parameterTypes 参数是一个数组的Class对象识别方法的形参类型,在声明的顺序

  • 参数

  • name -- 方法的名称

  • parameterTypes -- 参数数组



  • 返回值

  • 匹配指定名称和参数的类的方法,此方法返回的Method对象



  • 异常

  • NoSuchMethodException -- 如果匹配方法未找到


  • NullPointerException -- 如果name 为 null.

  • SecurityException -- If a security manager, s, is present.



  • 实例

  • 如何使用java.lang.Class.getDeclaredMethod()方法

invoke调用类中方法,所以会执行a方法。。

回答2:

肯定要知道实现接口类类型 只有接口去实例化对象呢 接口调用也具体实现类方法