Member 13461301 Ответов: 1

Почему существуют цветочные скобки для доступа к методу.


Рассмотрим класс
class Person(){
   private int age;

   public int getAge(){
       return age;
   }

}

Чтобы получить доступ к методу getAge (), мы можем непосредственно вызвать его как
new Person().getAge();


Что я уже пробовал:

но при использовании класса Typetoken почему я должен вызывать метод getType () таким образом?
new TypeToken<List<T>>(){}.getType();

Зачем мне ставить цветочные брекеты? в чем же причина?

1 Ответов

Рейтинг:
2

OriginalGriff

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

Они часто встречаются в списках, массивах и т. д.:

List<string> names = new List<string>() { "John", "Mike", "Susan" };


Member 13461301

Но когда я не пользуюсь цветочными брекетами. IDEshows ошибка, что TypeToken имеет защищенный доступ.
линия показывает новый TypeToken ошибка в `<список<Т> и GT;().метод gettype();`
Но этот `новый TypeToken в<список<Т> и GT;(){}.метод gettype();` не.
Этот класс взят из библиотеки gson.