黑马程序员技术交流社区

标题: Iterator为什么要定义为接口? [打印本页]

作者: Master_Yu    时间: 2016-4-23 21:23
标题: Iterator为什么要定义为接口?
什么要把迭代器封装成接口,而不是封装成类呢?
首先,我们先想一个问题?每个集合的存取的方式都有一定的区别,如果要把它封装成类。那么一个类是很难满足每一个集合的需求的,
               
                就需要对每一个集合单独的封装成一个类。这样可不可以呢?但是,是不可取的,因为这样会让整个集合体系非常的臃肿。所以就采取了内部类的形式,
               
                那为什么要封装成内部类呢?集合中存放元素,想要操作元素,在集合的内部操作最为方便。我们知道内部类可以访问类中所有的成员变量和成员方法,
       
                包括其私有的。我们在内部类中定义了三个方法,hasNext():判断集合中是否还存在元素,next()方法:获取集合中的元素,remove()方法:删除元素。
               
                而每个集合中都定义了这三个方法,为了不用每个集合中都单独的定义这些方法,为了使他们定义的方法名统一,方便我们去操作,就把他抽取了成一个接口,

                而且他们具体是怎么实现的,其实并不需要我们操心,我们的任务就会用就OK了。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2