主题:[讨论]不行了,这上面的高手都没有了!不来问题了!
thinking in java中文版 P191,英文版P347
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();
}
}
}
你编译的时候有没有发现多了个Sequence$1.class,但是要知道只有匿名类才会出现,这个程序有匿名类吗?不知道!因为多了这样一个文件,那便是有一个匿名类,在哪里呢?是哪一个?我找不到!请问谁找到了?或者是怎么回事?
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();
}
}
}
你编译的时候有没有发现多了个Sequence$1.class,但是要知道只有匿名类才会出现,这个程序有匿名类吗?不知道!因为多了这样一个文件,那便是有一个匿名类,在哪里呢?是哪一个?我找不到!请问谁找到了?或者是怎么回事?