为了账号安全,请及时绑定邮箱和手机立即绑定

Document 和NodeList 接口调用的方法是在哪里实现的?

接口中是没有方法实体的、需要实现类重写,然后通过接口回调调用实现类重定的方法,那问题是:Document 和NodeList 都是接口,那下面程序中,接口调用的方法是在哪里实现的?

//创建 一个DocumentBuilder对象

DocumentBuilder db=dbf.newDocumentBuilder();

//通过 DocumentBuilder对象的parser方法加载books.xml文件到当前项目下

Document document=db.parse("books.xml");

//获取所有book节点的集合

NodeList bookList=document.getElementsByTagName("book");

//通过 nodelist的getlength()方法可以获取booklist的长度

System.out.println("一共有"+bookList.getLength()+"本书");

//遍历每全个book节点

for(int i=0;i<bookList.getLength();i++){


正在回答

2 回答

我喜欢刨根问底,虽然记住了过程,不影响这部分知识的运用,不过不弄请楚,老感觉别扭。你的回答,我不是很理解,我也百度了好久,都没有明确说明这个问题的。但我在查DOM的时候,才知道,其本身是浏览器内嵌的一个标准借口,Node,NodeList,Document等都是DOM中的接口,其方法应该是在DOM中实现的,而java只不过是引入了这些借口,其DocumentBuilderFactory和DocumentBuilder才是自身的,通过他们可以建立java和dom的通道,可以调用dom同名借口中的方法,其实那些方法都是DOM中的。

2 回复 有任何疑惑可以回复我~

我认为是在getElementByTagName()相关的方法中实现,其返回的是NoteList类型的集合,虽然NoteList是接口类型,但在调用getElementByTagName()方法时其相关的类已实现了NoteList接口,我们可以追踪getElementByTagName()方法定义,就可以逐步看到到底是哪个类实现了NoteList接口。我感觉这也是接口、OO封装和继承的好处,让我们关注目的,忽略具体基础的实现。这我的浅见,仅供参考,请多指教!

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

Document 和NodeList 接口调用的方法是在哪里实现的?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信