DocumentBuilder 是一个借口或者abstract class。
dbf.newDocumentBuilder(),注意这一句,因此,返回的类型是DocumentBuilder 的实现或者子类。

解决方案 »

  1.   

    你把db.getClass().getName()打印出来不就好了?
      

  2.   

    DocumentBuilder db=dbf.newDocumentBuilder();
    事实上这个db是DocumentBuilder的子类。具体是哪一个子类,由dbf确定。
    dbf本身也是DocumentBuilderFactory的子类。具体是哪一个子类,由系统属性及配置文件决定。
      

  3.   

    DocumentBuilderFactory dbf= DocumentBuilderFactory.newInstance();这句会根据类路径中找到的第一个META-INF/services/javax.xml.parsers.DocumentBuilderFactory文件中指定的DocumentBuilderFactory的实现类来创建DocumentBuilderFactory实例,这个实现类知道如何创建DocumentBuilder