Форум программистов, компьютерный форум, киберфорум
Наши страницы

Java SE (J2SE)

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Karamba
0 / 0 / 0
Регистрация: 08.05.2012
Сообщений: 38
#1

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

05.06.2013, 19:13. Просмотров 2030. Ответов 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 SE
Всем привет! Java тока учу, подскажите, пожалуйста, есть ли в Java необязательные аргументы, ну т.е. те, которые можно как-то обозначить в...

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

Какую версию Java поддерживает .Net Java# И какую VS6.0 Java++ ? - Java
Какую версию Java поддерживает .Net Java# И какую VS6.0 Java++ ? Ответье, плиз, новичку, по MSDN я не понятно, это исключительно...

Cannot invoke compareTo(int) on the primitive type int - Java SE
Cannot invoke compareTo(int) on the primitive type int помогите плз я знаю что int - примитивный тип , и мне нужно его изменить на...

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

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

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

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

в 90% случаев лучше лучше чем она вам никто не обьяснит
getMethod вторым параметром получает массив объектов класса через getclass.
А в этот массив объектов входят поля,конструкторы или что то ещё?
Просто написано,что getclass возвращает рантайм класса,что подразумевается под объектами рантайма?
0
AckiyBolt
451 / 395 / 6
Регистрация: 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
06.06.2013, 05:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2013, 05:32
Привет! Вот еще темы с ответами:

Ошибка: java.lang.NullPointerException: Attempt to invoke virtual method - Программирование Android
Что исправить ошибку? java.lang.NullPointerException: Attempt to invoke virtual method 'void...

Dispatcher.Invoke и delegate invoke, исправить ошибки в коде - C#
привет не пойму почему второй код не работает? void bw_DoWork(object sender, DoWorkEventArgs e) { NextDel nd =...

Java.lang.NullPointerException: Attempt to invoke virtual method именно на версиях начиная с 5 - Программирование Android
приходят ошибки с телфонов именно начиная с версии андройда от 5 вото сам лог буду рад за ответы ...

NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' - Программирование Android
Вылетает приложение из-за этой ошибки. Сразу скажу, что я в java вообще нуб :) есть класс storage для хранения информации через...


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

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

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