将getMethod改为getDeclaredMethod就解决问题
二者区别为:
getMethod():此方法获取的是所有public方法级别的方法,包括从父类继承的方法。
getDeclaredMethod():此方法获得的是自身类的所有方法,包括公有(public)、私有(private)方法等,而且不受限于访问权限,但是限定本类(可以访问本身类的方法或者内部类的方法)。
其它的getDeclaredxxx和getxxx方法与此类似。
注:放射多用
,尽量少用getDeclaredMethod
getMethod
。