예 , 생성자를 비공개로 선언할 수 있습니다. . 생성자를 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