非publicと書くとpublic以外のメンバが返されるのかなと誤解させてしまいますが、返されるメンバはそのクラスに直接定義されたメンバが返されます。getXXX()とgetDeclaredXXX()の違いは、公開インターフェイスとなるpublicな全てのメンバを返すのか、そのクラスの直接定義されたメンバを返すのかの違いになります。 非publicなメンバに対してpublicメンバ同様実行などが可能ですが、必要な手続きがあります。 import java.lang.reflect.Method; import java.security.AccessController; import java.security.PrivilegedAction; public class Test { public static void main(String[] args) throws Excep