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