В основном AlertDialog
реализуется Design Builder Pattern .
Design Builder Pattern обеспечивает гибкость добавления динамических c методов API в любом классе, а не изменение любого существующего кода из него. Единственным недостатком является то, что он не должен напрямую создавать объект этого класса. Для этого всегда должен быть подготовлен класс Builder.
Так что, если вы попытаетесь создать объект AlertDialog
что-то вроде new AlertDialog()
, вы не сможете и вот где Builder шаблон приходит к изображению.
Подробнее см. здесь .