2014-02-09 6 views
0

DocumentBuilderFactory는 추상 클래스입니다. newInstance는 정적 메서드입니다. 어떻게 작동하는지 알 수 없습니다. 어떻게됩니까?자체 클래스로 인스턴스화하는 추상 클래스

나는 그것이 작동하는 이유를 ... 내가 틀렸다고 생각하지 않는다면 우리는 추상적 인 클래스의 인스턴스를 만들 수 없다.

+0

Java? 어떻게됩니까? 문맥과 오류 메시지를 알려주지 않습니다. –

+0

실제로 작동합니다. 이 표현이 왜 효과가 있는지 이해할 수 없습니다. –

+0

관련 : http://www.javapractices.com/topic/TopicAction.do?Id=21 및 http://en.wikipedia.org/wiki/Abstract_factory_pattern –

답변

0

"="오른쪽에 DocumentBuilderFactory의 개체가 없습니다.

이것은 생성자 외부에 DocumentBuilderFactory을 만드는 팩토리 메서드입니다.

0

이것은 어떤 종류의 싱글 톤 패턴처럼 보입니다. newInstance 메서드는 정확히 같은 유형을 반환합니까, 아니면 DocumentBuilderfactory를 확장하는 실제 구체적인 클래스를 반환합니까? 그것은 정말로 추상 적이거나 개인 생성자를 가집니까?

0

DocumentBuilderFactory.newInstance()은 DocumentBuilderFactory의 구상 서브 클래스의 인스턴스를 반환합니다. 소스 here을 읽을 수 있습니다.

0

newInstance는 생성자가 아닌 정적 메서드이므로 DocumentBuilderFactory의 구체적 하위 유형 인스턴스를 자유롭게 만들 수 있습니다. 그것은 어떤 일을합니다. 구현을 모르지만이 클래스의 기본 구현을 인스턴스화한다고 가정합니다.

관련 문제