Java: проверьте, существует ли заданное имя метода во время компиляции.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Java: проверьте, существует ли заданное имя метода во время компиляции.

Сообщение Anonymous »

Я разрабатываю служебный класс для обработки действий из компонентов Java Swing;
Я хотел бы знать, есть ли способ проверить, существует ли данное имя метода (к которому будут обращаться отражения) при компиляции время и показывать ошибку компилятора, если нет?

-обновить

Хорошо, похоже, я не совсем ясно выразился, давайте поговорим о деталях:

У меня есть класс TomAction, который я использую для упрощения объявлений простых действий в моем проекте. Вместо этого напишите что-то вроде:

Код: Выделить всё

class MyClass {

public MyClass() {
Icon icon = null; // putting null to simplify the example
JButton btn = new JButton(new AbstractAction("Click to go!", icon) {
public void actionPerformed(ActionEvent ev) {
try {
go();
} catch (Exception e) {
e.printStackTrace();
String msg = "Fail to execute 'go' task.";
JOptionPane.showMessageDialog(null, msg, "Fail", JOptionPane.ERROR_MESSAGE);
}
}
});
}

private void go() {
// do task
}

}
..Я просто пишу:

Код: Выделить всё

class MyClass {

public MyClass() {
String msg = "Fail to execute 'go' task.";
Icon icon = null; // putting null to simplify the example
TomAction act = new TomAction("go", this, "Click to go!", msg, icon);
JButton btn = new JButton(act);
}

private void go() {
// do task
}

}
..и программа ведет себя одинаково.

Проблема в том, что если я введу неправильный метод name в качестве аргумента TomAction, я увижу его только во время выполнения. Я хотел бы увидеть это во время компиляции. Понятно? :)

Кстати, этот класс работает очень хорошо, я просто хочу сделать это улучшение.

--обновление

изучение подхода к аннотациям

Подробнее здесь: https://stackoverflow.com/questions/260 ... mpile-time
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»