13 подписчиков

Использование двойных фигурных скобок в Java

Vivek Vijayan

Vivek Vijayan  Мы можем использовать двойные фигурные скобки в программе Java, когда нам нужно инициализировать класс без создания объекта и использовать функции в нем.

Мы можем использовать двойные фигурные скобки в программе Java, когда нам нужно инициализировать класс без создания объекта и использовать функции в нем. Это концепция создания анонимного класса внутри родительского класса.

new Parent() {{ }}

Первый набор фигурных скобок создает анонимный класс, а второй набор фигурных скобок создает содержимое внутри класса. Методы, вызываемые внутри анонимного класса, ссылаются на основной класс с помощью скрытого ключевого слова “this”. Поэтому нам не нужно упоминать ключевое слово.

class Parent {
private int a = 10;

void addTwo() {
a += 2;
}

void showValueOfA() {
System.out.println(a);
}
}

public class Main {
public static void main(String[] args) {
// anonymous class
new Parent() {{
// no need to mention the keyword "this"
addTwo();
addTwo();
addTwo();
showValueOfA();
}};
}
}

// Output: 16

использование:

Нет необходимости в создании какого-либо объекта, и многие анонимные классы могут быть созданы внутри анонимного класса

Эта концепция может быть использована для быстрой разработки

Проблемы:

Может возникнуть утечка памяти, поскольку базовый класс содержит в себе всю память дочерних анонимных классов.

Сбор мусора не может быть достигнут эффективно из-за больших ресурсов в нем.

Создавая множество анонимных классов, параллельно создает множество файлов классов с ‘$’, за которым следует число

Vivek Vijayan  Мы можем использовать двойные фигурные скобки в программе Java, когда нам нужно инициализировать класс без создания объекта и использовать функции в нем.-2

Main$1 является файлом класса для анонимного класса внутри основного класса