Анонимные классы в языке Java
К созданию анонимного класса предъявляют следующие требования:
1. Может быть создан только один экземпляр анонимного класса.
2. Класс должен быть наследником родительского класса или интерфейса, в нем не предусматривается конструктор для инициализации.
Представим класс ОбобщеннаяКнопка, который применяется для создания графических кнопок. Для задания поведения кнопки следует сформировать новый подкласс, наследующий от класса ОбобщеннаяКнопка и переопределяющий ее метод pressed. Поскольку требуется только один такой объект, это можно сделать на основе анонимного класса.
Добавление в окно графического элемента выполняется с помощью метода add. Для размещения в окне новой кнопки достаточно сделать следующее:
Окно w = ...;
w.add (new ОбобщеннаяКнопка ("Quit") {public void pressed () { System.exit(0); } }
);
Обсудим параметр метода add. С помощью оператора new здесь задается создание экземпляра Quit анонимного подкласса, для которого родителем является класс ОбобщеннаяКнопка. Описание анонимного класса приведено в фигурных скобках. В описании указано определение метода, требуемого анонимному классу. В данном случае это метод, получаемый переопределением родительского метода pressed. Содержание метода записано во внутренних фигурных скобках.
Природа наследования |
461 |