Java 反射机制中 getMethod()方法和getDeclaredMethod()方法的区别

  • getMothod()方法:调用公共方法,不能反射调用私有方法,有时使用不当会有NoSuchMethodException异常,具体来说就是:获取当前类和父类的所有public的方法。这里的父类,指的是继承层次中的所有父类。比如说,A继承B,B继承C,那么B和C都属于A的父类。
  • getDeclaredMethod()方法:能够访问本类中定义的所有方法。获取当前类的所有声明的方法,包括public、protected和private修饰的方法。需要注意的是,这些方法一定是在当前类中声明的,从父类中继承的不算,实现接口的方法由于有声明所以包括在内。
发布了22 篇原创文章 · 获赞 23 · 访问量 6277

猜你喜欢

转载自blog.csdn.net/bob_man/article/details/104518771