다른 클래스 인스턴스의 일부 정보없이 인스턴스를 만드는 것이 이해가되지 않는 곳에 Explosion이라는 클래스가 있다고 가정 해 보겠습니다. 생성자는 공개되지 않습니다.Java의 다른 객체 상태를 기반으로 객체 만들기
은 더 나은이 방법을 수행하는 것입니다 :
// both classes are in the same package
Explosion e;
Collision c = new Collision()
// do some stuff with collision
e = c.createExplosion()
을 또는 인스턴스를 생성하는 정적 메소드를 가지고 더 나은 폭발을 그리고 당신은 인수로 충돌 객체를 전달 :
Explosion e
Collision c = new Collision()
// do some stuff with collision
e = Explosion.createExplosion(c)
두 클래스의 작성자 인 경우.
간편한 단위 테스트를 위해 설계 할 때 가장 좋아하는 솔루션으로 끝납니다. 정적 메소드와 'new'연산자는 특정 클래스를 지적하고 모의 구현을 어렵게 만듭니다. – Christian