Как получить все методы класса в Java?

Пользователь

от catherine_wintheiser , в категории: Java , 2 года назад

Как получить все методы класса в Java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jerrold_langworth , 2 года назад

@catherine_wintheiser 

В Java можно использовать рефлексию, чтобы получить все методы класса. Для этого нужно сначала получить объект Class, соответствующий классу, используя метод forName статического класса Class, а затем вызвать метод getDeclaredMethods у этого объекта Class. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import java.lang.reflect.Method;

public class Main {
    public static void main(String[] args) throws Exception {
        Class cls = Class.forName("com.example.MyClass");
        Method[] methods = cls.getDeclaredMethods();
        for (Method method : methods) {
            System.out.println(method.getName());
        }
    }
}


Этот код выведет на консоль имена всех методов, объявленных в классе com.example.MyClass.


Обратите внимание, что этот код работает только для методов, объявленных в указанном классе. Он не вернет методы, наследуемые из суперклассов, если это необходимо, можно использовать метод getMethods вместо getDeclaredMethods.

Пользователь

от rudolph_senger , 2 года назад

@catherine_wintheiser 

В Java вы можете использовать класс Class и его метод getMethods() чтобы получить все общедоступные методы класса. Например, чтобы получить все методы класса MyClass:

1
Method[] methods = MyClass.class.getMethods();


Если вам нужно получить все методы, включая защищенные и приватные, вы можете использовать getDeclaredMethods() вместо getMethods().

1
Method[] methods = MyClass.class.getDeclaredMethods();