Топ-100Анонимный класс - CodOrbits
LogoCodOrbits

Раздел: Java Core

Раздел охватывает ключевые возможности языка Java: аннотации, исключения, generics, лямбда-выражения, интерфейсы и другие базовые концепции.

Все разделы
Иконка Java Core

Анонимный класс

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
мин.

Similar Articles Icon
Divider

Лямбда выражения

13
мин.

Similar Articles Icon
Divider

Java Stream API

10
мин.

Similar Articles Icon