Понимание нотации Java

Я пытаюсь использовать диалоги в Android. В этом процессе я столкнулся с такими строками кода, как:

alertDialogBuilder .setMessage("Click yes to exit!") .setCancelable(false) .setPositiveButton("Yes",new... 

Это обозначение немного странно для меня как старый программист на C ++. Это то же самое,

 alertDialogBuilder.setMessage("Click yes to exit!"); alertDialogBuilder.setCancelable(false); alertDialogBuilder.setPositiveButton("Yes",new... 

Если это так, является ли эта нотная часть Java или уникальной для Android программирования? Как называется это обозначение (или метод)?

Эта идиома называется цепочкой методов, и она не специфична для Java или Android. Хитрость заключается в том, что методы, которые в противном случае вернут void, вернут ссылку на this , позволяя длинные цепочки вызовов методов одному и тому же объекту.

Эта идиома весьма полезна при использовании в шаблоне построителя , как в вашем примере. Это также строительный блок при проектировании плавных интерфейсов .

Вы можете сделать то же самое с C ++, а просто вернуть тот же объект (этот указатель). Поэтому в конечном итоге вы вызываете следующую функцию, возвращая этот указатель.

Он используется в шаблоне проектирования Builder!

На самом деле код:

 alertDialogBuilder.setMessage("Click yes to exit!").setCancelable(false).setPositiveButton("Yes",new... 

Возможно, форматирование заставило вас задуматься. Как вы можете видеть, и, как упоминалось в других ответах, setMessage() очевидно, возвращает alertDialogBuilder позволяющий называть его другим методом.

Intereting Posts
Создание службы android Python для запуска в состоянии приостановки Eclipse Android не будет очищать, не обновлять ресурсы Добавление библиотеки App compact v7 дает ошибку Android – используйте внешний профиль в панели уведомлений, например Facebook Нужен ли отдельный Eclipse для разработки Android ADT? Надежно скрывать программную панель Как я могу динамически добавлять изображения в GridView? Как добавить несколько столбцов при использовании метода setCursor метода alertdialog builder для отображения списка элементов из базы данных? Что делает LoaderManager? Android – кнопка Radio в спискеView? Android WebView: масштабирование до определенного масштаба после загрузки содержимого Хороший пользовательский интерфейс для Android Вызов функции startActivity () извне контекста активности требует исключения флага FLAG_ACTIVITY_NEW_TASK – Android Visual Studio 2015 зависает при создании / открытии проекта Cordova SetAlpha () on onBindView в RecyclerView не работает на первом дисплее