2015-06-21 3 views
0

Мне было любопытно, как работает ключевое слово implements, и я надеялся, что кто-то сможет мне объяснить, откуда вызван реализованный метод?Вызов реализованного метода автоматически?

Например, допустим, что у меня есть класс, который реализует ActionListener. В настоящее время он реализует

public void actionPerformed(ActionEvent e) { 
} 

способ. У меня есть кнопка, привязанная к этому ActionListener. Но как он призывает этот метод? Как он знает, мой класс реализует этот метод.

ответ

1

Он знает, что ваш класс реализует слушателя, потому что параметр метода addActionListener(...) принимает только классы, реализующие интерфейс ActionListener. Он вызывает этот метод, потому что во внутренних элементах AbstractButton он знает, что все объекты в его List, который содержит эти слушатели, реализует интерфейс ActionListener и, следовательно, имеет метод actionPerformed. Для более подробной информации рассмотрим исходный код AbstractButton, и вы увидите, где именно он это делает. Google может помочь вам найти источник, если у вас еще нет файла src.zip на диске.

Смежные вопросы