黑马程序员技术交流社区

标题: 集合问题 [打印本页]

作者: 小白进阶之路    时间: 2018-1-31 12:08
标题: 集合问题
集合源码中的成员内部类:
                ArrayList中有一个内部类:ListItr
                ListItr这个内部类继承Itr,实现了ListIterator接口。
                LinkedList中有一个内部类:ListItr
                ListItr这个类名和ArrayList中的一个内部类名相同。这个类同样实现了ListIterator接口。
                因为不同的使用场景ListIterator接口里面的方法的具体实现不太一样。所以它会有不同的实现类。
                但是为什么源码不用普通的类去实现,而是用内部类去实现呢?
                        ①因为ListItr内部使用了外部类的成员。而ListItr这个类的方法的具体实现需用用ArrayList的一些成员。所以这个时候我们如果把这个类写成内部类,更方便我们调用ArrayList里的成员。(内部类可以直接调用外部类的成员。)
                        ②因为ListItr这个内部类的功能和我们的外部类ArrayList是紧密相连的。所以我们把这个ListItr写成外部类的话。其实没有什么作用。因为不会有其他类还能和我们的ListItr结合起来使用。

作者: 小白进阶之路    时间: 2018-3-14 17:49
集合常见问题部分小总结




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