之前发了一个帖子很多论坛朋友讨论了一下关于Iterator,很多朋友说是单例模式。
之前一直以为是单例模式,现在解释一下单例模式是java设计模式一种,在类中创建引用指向自己的对象然后私有化,使外部无法创建另一个对象,从而达到只有一个对象,我创建的给你用你不能创建这就是单例模式,好重点来了。
关于Iterator内部原理是这样的 ArrayList继承了AbstactList类,AbstactList 中有一个内部类,内部类实现了Iterator接口,AbstactList 中的Iterator()方法返回一个new 内部类()对象, 所以Iterator itr=new ArrayList().Iterator(); 这个不是单例模式,因为我可以创建很多引用然后调用Iterator()方法每调用一次就会创建一个内部类对象,这种方式只是多态表现而已并不是单例,论坛朋友别被误导了。
|
|