Анонимные классы в Java
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
14 // (то есть вызываем у реализованного
15 // обьекта .pow(3,6)).
16 System.out.println(new Adder() {
17 public double pow(double a, double b){
18 double result = a;
19 for(int i = 1; i < b; i++)
20 result *= a;
21 return result;
22 }
23 }.pow(3,6));
24 }
25}
Вывод:

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