BlogJava 联系 聚合 管理  

Blog Stats

随笔分类

文章分类

随笔档案

文章档案


kevin-guan

前阵子就开始在看TIJ了,不过当看到内部类时,就给卡住了。本来中文就没怎么学好,再加上翻译的语言有些变味,一时没怎么看懂,就先搁置了会。
今天重新看了下,内部类部分,有些对着例子慢慢看,比上次多明白了些,有些例子代码觉得比较不错,可是又不知道觉得哪里不错,
先占个坑吧,省得忘记了。
这里的代码是一个Sequence 和Selector的例子,一个应该是序列,而另外的则是一个选择器吧。
代码如下:
 1package test;
 2
 3public class Sequence {
 4    private Object[] objects;
 5
 6    private int next = 0;
 7
 8    public Sequence(int size) {
 9        objects = new Object[size];
10    }

11
12    public void add(Object object) {
13        if (next < objects.length) {
14            objects[next++= object;
15        }

16    }

17
18    private class SSelector implements Selector {
19        private int i = 0;
20
21        public Object current() {
22            return objects[i];
23        }

24
25        public boolean end() {
26            if (i == objects.length) {
27                return true;
28            }

29            return false;
30        }

31
32        public void next() {
33            if (i < objects.length) {
34                i++;
35            }

36        }

37
38    }

39
40    public Selector getSelector() {
41        return new SSelector();
42    }

43
44    public static void main(String[] args) {
45        Sequence sequence = new Sequence(10);
46        for (int i = 0; i < 10; i++{
47            sequence.add(new Integer(i));
48        }

49        Selector selector = sequence.getSelector();
50        while (!selector.end()) {
51            System.out.println(selector.current());
52            selector.next();
53        }

54    }

55
56}

57
58interface Selector {
59    void next();
60
61    Object current();
62
63    boolean end();
64}

觉得这里代码应该扩展下,会有新的用处吧。不过却有感觉是简单问题复杂化,但是也觉得应该如此编写代码。
OO还真是门艺术啊。
posted on 2008-01-21 14:54 KevinGuan 阅读(115) 评论(0)  编辑  收藏 所属分类: J2SE

只有注册用户登录后才能发表评论。


网站导航: