getMethods();
getDeclaredMethods();
前者是得到所有的public 方法。
后者得到所有定义的方法,包括public protected private 以及默认权限。
但是前者并不是后者的一个子集。因为前者得到的方法是所有的public方法,包括从父类继承而来的。
而后者虽然能够得到所有的方法,但是仅仅是直接定义在这个类中的方法,其父类的中定义的方法都不会获取到。
同理
getField()和getDeclaredField()
getClass()和getDeclaredClasses()
等方法的效果类似。