- 在线时间
- 0 小时
- 最后登录
- 2005-3-31
- 注册时间
- 2005-3-30
- 听众数
- 2
- 收听数
- 0
- 能力
- 0 分
- 体力
- 66 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 24
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 9
- 主题
- 4
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   20% 该用户从未签到
|
而此机制主要针对是工具者而不是应用及程序。! E" Z; l' h& @1 C/ _. u! }& r a+ V
( }% I; n4 ]! y6 i' s+ ~ 反射机制中的最重要的部分是允许你检查类的结构.用到的API有:
2 E) s8 i# g5 z2 U3 k& e! ?' O: i; R; Y" {6 Z" W9 A
java.lang.reflect.Field 返回字段.# k0 J' M2 Q1 j
java.reflect.Method 返回方法.# L2 H" u- R8 }$ f6 O6 t
java.lang.reflect.Constructor 返回参数.- J1 Q2 ?9 ~/ u ` M! a8 U
4 t' [' \0 c {& O m( C2 c
方法指针:java没有方法指针,把一个方法的地址传给另一个方法,可以在后面调用它,而接口是更好的解决方案。2 _# e" C Z" _' u9 c. ~
6 n* a$ @: R8 }" q/ \, Z 23.接口(Interface)说明类该做什么而不指定如何去做,一个类可以实现一个或多个interface。
# t" H1 ~' ~. S O
: c( u) x" W3 Q! y! I/ a 24.接口不是一个类,而是对符合接口要求的类的一套规范。, M, \0 \1 b! ^, v# J d0 h$ ?5 d
0 u# z8 x+ C0 b( {4 x7 c. e1 t 若实现一个接口需要2个步骤: , h C; a; @; u
' X- J, d3 R# Z5 T" p! c
1.声明类需要实现的指定接口。6 |3 L" |& e1 D
2.提供接口中的所有方法的定义。
! m2 B+ d; i) w9 o4 f/ d1 t- |5 v$ n6 k* B Z, |
声明一个类实现一个接口需要使用implements 关键字
7 M2 p9 S& N2 Q6 {2 u# v. H7 U
* p- h' A5 G6 k class actionB implements Comparable 其actionb需要提供CompareTo方法,接口不是类,不能用new实例化一个接口.
8 Y7 g% C0 Y) t- c( t o! l7 [6 o
, F- q$ g% _ o0 O) c( F; y 25.一个类只有一个超类,但一个类能实现多个接口。Java中的一个重要接口:Cloneable" z X" k3 D6 A, g3 |
) M1 L% _2 x! ~/ t1 | E' u1 `! K 26.接口和回调.编程一个常用的模式是回调模式,在这种模式中你可以指定当一个特定时间发生时回调对象上的方法。
7 K1 H4 x( {. O( n6 w" \5 H8 v
+ b4 D' A7 m2 }# g2 z( A x$ Z# W 例:ActionListener 接口监听.
/ j% C, R ]% u% L, ]2 ^/ P 类似的API有:java.swing.JOptionPane
' J) I8 n& |: K* s3 x$ O1 b; ~) y+ u5 [& W1 O3 d
java.swing.Timer
! ^3 C* G; o2 Q. s java.awt.Tookit
1 `, Q* Y( E- s- c k6 _% W& R6 D! Y' w7 E; b1 |8 R' A
27.对象clone:clone方法是object一个保护方法,这意味着你的代码不能简单的调用它。
$ w" [* s1 ~& h: l5 |: @7 I( i
28.内部类:一个内部类的定义是定义在另一个内部的类。- Y' _$ ]& k4 h3 E& C4 a
7 q* C7 S+ k: _$ d& w" J
原因是:9 s( R! \. v- i3 J5 S9 `, k
) ~# P. M9 w! S n$ K 1.一个内部类的对象能够访问创建它的对象的实现,包括私有数据。2 V" \6 u' o3 a9 i9 O. U
3 v1 Q+ `) C8 P0 O2 G# x 2.对于同一个包中的其他类来说,内部类能够隐藏起来。
3 n/ P6 }0 @+ N$ v4 X1 t
B9 Y+ r1 ^: ~9 s8 v$ Q 3.匿名内部类可以很方便的定义回调。
# S6 g7 o: P O( I2 f3 {" v9 B' x8 U4 X/ l" r1 f+ u: J) E
4.使用内部类可以非常方便的编写事件驱动程序。- y% r( f+ \2 Q
, C# K, z% J6 x 29.代理类(proxy):
) s/ b' ]' j% A) t. h) C3 {! z* L, }4 A: `1 s- ~9 H
1.指定接口要求所有代码& ~9 f; U6 R8 Y" M; n
, j& G, I8 M6 x" R 2.object类定义的所有的方法(toString equals). U8 P4 C; e" l @: H
* E0 ?+ w* ?5 p: K9 p1 X
30.数据类型:Java是强调类型的语言,每个变量都必须先申明它都类型,java中总共有8个基本类型.4种是整型,2种是浮点型,一种是字符型,被用于Unicode编码中的字符,布尔型。 |
|