DocumentBuilderFactory f = DocumentBuilderFactory.newInstance(); //
DocumentBuilderFactory是抽象类。 newInstance是静态方法。无法弄清楚它是如何工作的。 会发生什么?
我的意思是它的工作原理......如果我没弄错,我们就不能制作抽象类的实例。
答案 0 :(得分:0)
你在“=”的右侧没有DocumentBuilderFactory的对象。
这是在构造函数外部创建DocumentBuilderFactory
的工厂方法。
答案 1 :(得分:0)
这看起来像某种单例模式,newInstance方法是返回EXACT相同类型,还是返回扩展DocumentBuilderfactory的实际具体类?它真的是抽象的,还是有私有构造函数?
答案 2 :(得分:0)
DocumentBuilderFactory.newInstance()
返回DocumentBuilderFactory的具体子类的实例。您可以阅读其来源here。
答案 3 :(得分:0)
newInstance是一个静态方法,而不是构造函数,因此可以自由地创建DocumentBuilderFactory的具体子类型的实例。它做的。我不知道实现,但我假设它实例化了这个类的默认实现。