您的位置:首页 > 其它

内部类之设计模式-内部类可以访问外部类的私有成员

2009-08-08 10:53 246 查看
interface Selector

{

boolean end();

Object current();

void next();

}

public class Sequence

{

private Object[] items;

private int next = 0;

public Sequence(int size)

{

items = new Object[size];

}

public void add(Object x)

{

if (next<items.length)

{

items[next++] = x;

}

}

private class SequenceSelector implements Selector

{

private int i = 0;

public boolean end()

{

return i == items.length;

}

public Object current()

{

return items[i];

}

public void next()

{

if(i < items.length)

i++;

}

}

public Selector selector()

{

return new SequenceSelector();

}

public static void main(String args[])

{

Sequence sequence = new Sequence(10);

for(int i =0 ;i <10 ;i++)

sequence.add(Integer.toString(i));

Selector selector = sequence.selector();

while(!selector.end())

{

System.out.println(selector.current() + " ");

selector.next();

}

}

}



内部类自动用用外围对象的访问权

这是因为 当外围对象创建了一个内部对象的时候 内部对象会秘密的捕捉一个指向外围对象的引用 然后在你访问外围对象的成员的时候 就是靠那个引用来访问外围成员
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: