Объяснение синтаксиса инстанции Java
Читая проект Java на GitHub, я нашел синтаксис кода, который никогда не видел прежде, и я хотел бы дать некоторые пояснения, пожалуйста. Вот код:
Book book = new BookBuilder() {
{
description("blabla");
author("blabla");
title("blabla");
isbn("123456789");
category(category);
}
}.build();
BookBuilder
кажется стандартным Java-классом, и каждый из вызванных методов (description, author...) возвращает BookBuilder
объект.
У меня вопрос, что делает синтаксис book = new BookBuilder() {{ ... }}
средства?