2013-02-05 3 views

답변

5

개체의 외부 인스턴스화를 방지하려는 경우 유용합니다. 정적 팩토리 클래스, 싱글, 등

내가 private 몇 용도 생각할 수
1

:

  • 방지 인스턴스 (완전 정적 클래스 또는 싱글)
  • 기본 생성자는 클래스를 인스턴스화하는 데 필요한 외부 때로는 (예 : Hibernate), 공개로하고 싶지 않을 수도 있습니다.
  • 위임 생성자

마지막의 완전히 인위적인 예 : protected에 대한

private MyClass(int a) { 
    this.a = a} 

public MyClass(int a, String B) { 
    this(a); 
    this.b = b; 
} 

public MyClass(int a, double c) { 
    this(a); 
    this.b = Double.toString(c); 
} 

유사 추론, 그냥 서브 클래스 및 패키지 이웃 특권 몇 가지를 확장합니다.

1

싱글 톤 패턴은 개인 생성자를 사용하여 객체의 인스턴스화를 제어합니다. 유닛 테스트에서 사용되는 특별한 생성자를 원할 때 (의존성 삽입 프레임 워크없이 유닛 테스트를 실행하는 경우), 공용으로 만들지 않고 패키지를 보호하고 유닛 테스트를 다음과 같이 선언 할 수 있습니다. 같은 패키지.

관련 문제