Как я узнаю, что у класса есть метод в Java, и как мне его вызвать? - PullRequest
1 голос
/ 22 декабря 2011

Мне нужно знать, есть ли у класса Java метод

public double getValue() 

если есть метод. Мне нужно вызвать метод.

Извините, я забыл сказать, что это нужно делать во время выполнения

Ответы [ 3 ]

6 голосов
/ 22 декабря 2011

Вы можете использовать Class.getMethod() для получения объекта Method, а затем Method.call() для вызова метода.

getMethod() сгенерирует NoSuchMethodException, если у класса нет метода с запрошенным именем и подписью.

1 голос
/ 22 декабря 2011

Вам нужно получить класс, а затем методы из класса.Предположим, твой страх - твой объект.

Object angst = new Object();
Method[] methods= angst.getClass().getMethods();
for(i=0; i<methods.length; i++) {
    if(methods[i].getName().equals("getValue") {
        //some boolean stuff
    }
}
0 голосов
/ 22 декабря 2011

Вы должны использовать Отражение Java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...