Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Karamba
0 / 0 / 1
Регистрация: 08.05.2012
Сообщений: 40
#1

Параметры у getMethod и invoke (java) - Java SE

05.06.2013, 19:13. Просмотров 2157. Ответов 3
Метки нет (Все метки)

Здравствуйте.Вот кусок кода.
Java
1
2
3
            Method main = cMainClass.getMethod("main", new Class[] {aaa.getClass()});
            
            main.invoke(cMainClass.newInstance(), new Object[] {aaa});
Объясните пожалуйста что здесь передаётся в параметрах у getMethod и invoke.

Как думаю я:
У getMethod первый параметр - имя метода,который нужно получить,второй параметр - класс откуда нужно взять этот метод.
invoke - первый параметр создаёт область для будущего объекта,второй параметр - сам объект,который нужно выполнить.

Но препод говорит,что не правильно. Объясните пожалуйста как можно подробнее эту ситуацию.
Плиииииз.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2013, 19:13
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Параметры у getMethod и invoke (java) (Java SE):

Есть ли в Java необязательные аргументы/параметры по умолчанию
Всем привет! Java тока учу, подскажите, пожалуйста, есть ли в Java...

Передача в method.invoke масива String[]
Здравствуйте. В определенной программе мне нужно вызвать метод по строке с его...

Стек-трейс (StackTrace) содержит методы invoke
Что за invoke0, invoke вылазят при выводе Stack Trace на экран? Где-то слышал,...

Error: Cannot invoke contains(String) on the primitive type int
Всем привет! Есть такой кусочек кода: flbook.setPredicate(p ->...

Какую версию Java поддерживает .Net Java# И какую VS6.0 Java++ ?
Какую версию Java поддерживает .Net Java# И какую VS6.0 Java++ ? Ответье,...

Cannot invoke compareTo(int) on the primitive type int
Cannot invoke compareTo(int) on the primitive type int помогите плз я знаю...

3
AckiyBolt
649 / 398 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
05.06.2013, 21:45 #2
и он прав. учитесь пользоваться документацией:
getMethod(...)
invoke(...)

в 90% случаев лучше лучше чем она вам никто не обьяснит
1
Karamba
0 / 0 / 1
Регистрация: 08.05.2012
Сообщений: 40
05.06.2013, 23:00  [ТС] #3
Цитата Сообщение от AckiyBolt Посмотреть сообщение
и он прав. учитесь пользоваться документацией:
getMethod(...)
invoke(...)

в 90% случаев лучше лучше чем она вам никто не обьяснит
getMethod вторым параметром получает массив объектов класса через getclass.
А в этот массив объектов входят поля,конструкторы или что то ещё?
Просто написано,что getclass возвращает рантайм класса,что подразумевается под объектами рантайма?
0
AckiyBolt
649 / 398 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
06.06.2013, 05:32 #4
Цитата Сообщение от Karamba Посмотреть сообщение
getMethod вторым параметром получает массив объектов класса через getclass.
А в этот массив объектов входят поля,конструкторы или что то ещё?
Просто написано,что getclass возвращает рантайм класса,что подразумевается под объектами рантайма?
ок. первый абзац из документации к первому методу:
Returns a Method object that reflects the specified public member method of the class or interface represented by this Class object. The name parameter is a String specifying the simple name the desired method. The parameterTypes parameter is an array of Class objects that identify the method's formal parameter types, in declared order. If parameterTypes is null, it is treated as if it were an empty array.
класы (описания объектов), как и их объекты, тоже хранятся в памяти жвм. достать их можно через .class или .getClass()
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2013, 05:32
Привет! Вот еще темы с решениями:

JIDEFX MaskTextField java.lang.NoSuchMethodError: java.lang.invoke.LambdaMetafactory.metaFactory
Имеется тестовое приложение: package testinputmask; import...

Ошибка java.lang.NullPointerException: Attempt to invoke virtual method
Помогите, пожалуйста. Делал приложение на андроид для установки обоев и когда...

Ошибка: java.lang.NullPointerException: Attempt to invoke virtual method
Что исправить ошибку? java.lang.NullPointerException: Attempt to invoke...

В чем разница между Invoke Action и Invoke delegate (код внутри)
Добрый день! Не могли бы подсказать, в чем принципиальная разница? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru