Я пытаюсь использовать отражение, чтобы захватить все общедоступные методы, которые явно объявлены в классе (поэтому c.getMethods() не будет работать, так как он также захватывает методы суперкласса). я могу использовать
Method[] allMethods = c.getDeclaredMethods();
чтобы захватить методы только из этого класса, но я только хочу использовать публичные.
На данный момент я пытаюсь захватить модификаторы и выполнять определенные действия на основе этого, но по какой-то причине значение модификатора, показанное в отладчике и выходе значения модификатора, не совпадает. Например, у меня есть частный метод getNode который, когда значение "модификаторы" отображается как 2 в отладчике, оно выводит "1" когда я делаю System.out.println(c.getModifiers()). Weird. Есть ли другой способ получить только публичные методы, или я пропущу что-то очевидное? Спасибо за любую помощь!