Установить значение частного поля с инициализацией в двойных скобках

Я хочу установить значение частного поля с инициализатором двойных скобок. Следующий работает

Customer customer1 = new Customer();
customer1.setFirstName("Nick");

Это также работает:

Customer customer3 = new Customer("John", "Hammond", true, 80, "3/4/1978");

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

        Customer customer2 = new Customer()
        {
            {
               firstName = setFirstName("George");
            }
        };

как, черт возьми, этот последний пример должен иметь смысл? почему «SetFirstName» начинается с большой буквы S?

Stultuske 08.04.2019 13:04

@GhostCat окей, а зачем ему Сет... звони туда?

Stultuske 08.04.2019 13:06

И несвязанный: прочитайте о соглашениях об именах Java. Имена методов идут в camelCase() в java всегда!

GhostCat 08.04.2019 13:09

Вы не можете назначить приватное поле в блоке инициализации с двойной скобкой. Просто скажи setFirstName("George") (без задания).

Gyro Gearless 08.04.2019 13:26

Сработало... Большое спасибо

PanosStack 08.04.2019 13:31

Возможно, этот пост поможет вам: stackoverflow.com/questions/1100120/…

Aldo Fernando Saia 08.04.2019 13:43
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
6
77
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Спасибо всем за ваши ответы, и я извиняюсь за имена Pascal Case в моих методах. Ответ следующий (все поля моего класса являются общедоступными, кроме поля firstName, которое является закрытым):

           Customer customer2 = new Customer()
            {
                {
                    setFirstName("Tom");
                    lastName = "Cruz";
                    reliable = true;
                    weight = 70;
                    dateOfBirth = "2/3/1970";
                }
            };

Другие вопросы по теме