Прошло несколько лет с тех пор, как я был сильно вовлечен в Java. Возвращаясь к этому, я вижу эту картину повсюду:Создание объекта Java с переданным методом
ratingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {
public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
// do work
}
});
Это больше похоже на Функциональное программирование для меня. Это хороший образец, но как можно передать такой метод? Раньше класс был классом, и когда-то он был скомпилирован, вы могли бы сделать это.
Мои вопросы:
- Может кто-нибудь, дайте мне знать, что называется эта картина?
- Как написать класс, который может быть создан таким образом.
- Есть ли другие полезные примеры функциональных шаблонов, которые пробились на Java?
- Что мне нужно для Google, чтобы узнать больше об этом?
Спасибо.
«Анонимный внутренний класс», чтобы быть педантичным :-) Для OP они были частью Java с самого начала. –
Ah, а onRatingChanged - статический метод. Спасибо за вашу помощь, теперь я чувствую себя довольно глупо :) – superluminary
@superluminary Нет, это не статический метод - если бы это было так, у него было бы ключевое слово 'static'. Плюс статические методы не являются переопределяемыми, просто закрывающимися. –