本帖最后由 caobin 于 2014-12-3 22:34 编辑
记得看内部类的视频时,听到老师将内部类一般都是被私有修饰的,我当时很是不解,被私有修饰别人怎么调用啊?后来看到了集合的迭代器这里,终于明白,原来私有内部类有这样的应用:对象存到集合里,怎么样取出是一个问题。所以就定义了内部类,因为内部类可以更加简单得操作集合中的数据。然后集合又提供了iterator和listIterator方法,就可以轻松获取到该内部类的实例。
看起来好像有点傻哈,还请大家不要笑话~~,也不知道这样有没有想错,大神帮忙指点一下啊,别让我想歪了~~{:2_33:}
下面是一些伪代码,可以参考一下,
- class IteratorTest
- {
- public static void main(String[] args)
- {
- ArrayList al = new ArrayList();
- al.add("zhangsan");
- al.add("lisi");
- ....
- //调用集合中的方法,就返回了被private修饰的内部类对象
- Iterator it = al.iterator();
- }
- }
- class ArrayList
- {
- //为了更加方便得操作集合中的元素,所以将迭代器定义在了集合内部
- private class Itr implements Iterator
- {
- //这里面是操作集合中元素的方法hasNext(),next(),remove()...
- }
- public Iterator iterator()
- {
- return new Itr();
- }
- }
- interface Iterator
- {
- public boolean hasNext();
- public Object next();
- public void remove();
- }
复制代码
|