Анонимный класс
Last updated: 4 мая 2025 г.Анонимный класс
– одноразовая реализация интерфейса без создания полноценного класса.
То есть нам не нужно создавать много объектов, будет только один с данной реализацией.
Пример программы:
1import java.util.*;
2
3interface Adder{
4 public double pow(double a, double b);
5}
6
7class AnonimousClass{
8 public static void main(String[] args) {
9 // Как видим, мы передаем в метод println
10 // объект на основе одноразовой реализации
11 // интерфейса Adder и сразу пользуемся
12 // этой реализацией, вызывая у этого объекта
13 // только что реализованный pow(.pow(3,6)).
14 System.out.println(new Adder() {
15 public double pow(double a, double b){
16 double result = a;
17 for(int i = 1; i < b; i++)
18 result *= a;
19 return result;
20 }
21 }.pow(3,6));
22 }
23}
Вывод:

Одноразовый он очевидно почему?
Потому что мы не создавали полноценный отдельный класс реализующий интерфейс, как мы делали это раньше. И мы даже не создавали ссылку для работы с созданным объектом, мы сразу вызвали у него .pow(3,6).
То есть вся эта реализация существовала для одной цели – вызова метода .pow(3,6) в методе println и всё. И больше нигде мы эту реализацию использовать не можем да и не должно быть нужно, она одноразовая.
Следующие уроки
Функциональный интерфейс
12
мин.
Лямбда выражения
13
мин.
Java Stream API
10
мин.