Methodの修飾子をチェックする
Reflection APIを使ってClassのMethodを取得し、そのメソッドの修飾子をチェックする場合、次のように記述します。
if ((method.getModifiers() & Method.PUBLIC) != 0) { // Publicの場合の処理 }
このように書いてはいけません。
if (method.getModifiers() == Method.PUBLIC) { // Publicの場合の処理 }
また、1.5以上であればMethodに追加されているstaticメソッドを使う方が良いでしょう。
if (Method.isPublic(method.getModifiers())) { // Publicの場合の処理 }
isPublicのメソッド定義はそのまま、こんな感じです。
public static boolean isPublic(int mod) { return (mod & PUBLIC) != 0; }