Blog Stats
Posts - 13
Articles - 6
Comments - 4
Trackbacks - 0
随笔分类
IT(9)
oracle(2)
生活(3)
文章分类
Hibernate
J2EE(2)
J2SE(1)
Linux
OS 杂记(1)
Spring
Thinking in java学习笔记(1)
UML
前台页面(1)
随笔档案
2011年5月 (2)
2008年5月 (3)
2008年3月 (1)
2008年1月 (7)
文章档案
2008年4月 (1)
2008年1月 (5)
kevin-guan
thinking in java 学习杂记(1)
前阵子就开始在看TIJ了,不过当看到内部类时,就给卡住了。本来中文就没怎么学好,再加上翻译的语言有些变味,一时没怎么看懂,就先搁置了会。
今天重新看了下,内部类部分,有些对着例子慢慢看,比上次多明白了些,有些例子代码觉得比较不错,可是又不知道觉得哪里不错,
先占个坑吧,省得忘记了。
这里的代码是一个Sequence 和Selector的例子,一个应该是序列,而另外的则是一个选择器吧。
代码如下:
1
package
test;
2
3
public
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
58
interface
Selector
{
59
void
next();
60
61
Object current();
62
63
boolean
end();
64
}
觉得这里代码应该扩展下,会有新的用处吧。不过却有感觉是简单问题复杂化,但是也觉得应该如此编写代码。
OO还真是门艺术啊。
posted on 2008-01-21 14:54
KevinGuan
阅读(122)
评论(0)
编辑
收藏
所属分类:
J2SE
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
Powered by:
.Text
and
ASP.NET
- Copyright © KevinGuan