예 , 생성자를 비공개로 선언할 수 있습니다. . 생성자를 private로 선언하면 클래스의 개체를 만들 수 없습니다. 싱글톤 디자인 패턴에서 이 비공개 생성자를 사용할 수 있습니다. .
사설 생성자의 조건
- 비공개 생성자 클래스의 하위 클래스를 허용하지 않습니다.
- 비공개 구성 r 클래스 외부에서 개체를 생성할 수 없습니다.
- 모든 상수 메서드가 클래스에 있으면 개인 생성자를 사용할 수 있습니다.
- 모든 방법이 정적 인 경우 그러면 비공개 생성자를 사용할 수 있습니다.
- 수업을 연장하려는 경우 개인 생성자가 있는 컴파일 시간 오류가 발생합니다. .
예
class SingletonObject { private SingletonObject() { System.out.println("In a private constructor"); } public static SingletonObject getObject() { // we can call this constructor if (ref == null) ref = new SingletonObject(); return ref; } private static SingletonObject ref; } public class PrivateConstructorDemo { public static void main(String args[]) { SingletonObject sObj = SingletonObject.getObject(); } }
출력
In a private constructor