回 帖 发 新 帖 刷新版面

主题:[讨论]不行了,这上面的高手都没有了!不来问题了! 

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,但是要知道只有匿名类才会出现,这个程序有匿名类吗?不知道!因为多了这样一个文件,那便是有一个匿名类,在哪里呢?是哪一个?我找不到!请问谁找到了?或者是怎么回事?

回复列表 (共3个回复)

沙发

我运行过了,没有问题

板凳

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

这么清楚的内部类  怎么说找不到呢?


class Sequence的内部类 private class SequenceSelector

3 楼

没懂我意思,就不要来乱瞎说!

我来回复

您尚未登录,请登录后再回复。点此登录或注册