Программирование на Java


         

В заключение рассмотрим применение модификаторов


public class Test { public Test() { System.out.println("Test()"); }

public Test(int x) { this(); System.out.println("Test(int x)"); } }

После выполнения выражения new Test(0) на консоли появится:

Test() Test(int x)

В заключение рассмотрим применение модификаторов доступа для конструкторов. Может вызвать удивление возможность объявлять конструкторы как private. Ведь они нужны для генерации объектов, а к таким конструкторам ни у кого не будет доступа. Однако в ряде случаев модификатор private может быть полезен. Например:



  • private-конструктор может содержать инициализирующие действия, а остальные конструкторы будут использовать его с помощью this, причем прямое обращение к этому конструктору по каким-то причинам нежелательно;
  • запрет на создание объектов этого класса, например, невозможно создать экземпляр класса Math;
  • реализация специального шаблона проектирования из ООП Singleton, для работы которого требуется контролировать создание объектов, что невозможно в случае наличия не-private конструкторов.



Содержание  Назад  Вперед