- 在线时间
- 0 小时
- 最后登录
- 2005-3-31
- 注册时间
- 2005-3-30
- 听众数
- 2
- 收听数
- 0
- 能力
- 0 分
- 体力
- 66 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 24
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 9
- 主题
- 4
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   20% 该用户从未签到
|
而此机制主要针对是工具者而不是应用及程序。
/ i8 w$ D! m6 u1 o' H
j1 q( U- X a+ I0 E0 F 反射机制中的最重要的部分是允许你检查类的结构.用到的API有:: O, W2 x& d/ Q o, p) A
. T& D/ a, q1 s' K
java.lang.reflect.Field 返回字段.
$ U M/ U3 T, } N4 d/ w java.reflect.Method 返回方法.2 v! i# I# U5 U( b
java.lang.reflect.Constructor 返回参数.
B c& ?) D* Y3 ~6 ` F% v! T0 L
/ o& M8 ? L" s. x% k T& O3 r: R 方法指针:java没有方法指针,把一个方法的地址传给另一个方法,可以在后面调用它,而接口是更好的解决方案。, Z9 c# ~8 [9 E: t4 i" d1 }6 _; t7 t2 C
8 d- b- ~ \0 W' _9 _
23.接口(Interface)说明类该做什么而不指定如何去做,一个类可以实现一个或多个interface。
9 o& j& f: m) A, p9 k( k
: P; y g+ q& T% t" k& R7 L 24.接口不是一个类,而是对符合接口要求的类的一套规范。
" K, C# L5 \8 F) w
+ ?. P! l+ N4 k! n7 N 若实现一个接口需要2个步骤:
! k2 ]. q# r8 d/ Q
/ I$ T' L9 _0 K+ M- V/ O$ f% r 1.声明类需要实现的指定接口。
* ^8 S2 F- F, k+ F7 W1 t 2.提供接口中的所有方法的定义。
6 N. p' w' `% Q, p2 V9 ] U( j1 c3 f9 d: W, Y! s. S* P
声明一个类实现一个接口需要使用implements 关键字! S: G" y i7 h+ ?8 `' }
8 j" p- O; i1 `' o5 z8 ^) L class actionB implements Comparable 其actionb需要提供CompareTo方法,接口不是类,不能用new实例化一个接口. y+ ]" F* G4 y( R' x1 w
( n, ^+ ~4 L: y0 I8 A" t2 v9 Z" M
25.一个类只有一个超类,但一个类能实现多个接口。Java中的一个重要接口:Cloneable
6 T' q, K/ h" H$ M" B7 l
3 U- X1 P0 x6 }$ y8 J 26.接口和回调.编程一个常用的模式是回调模式,在这种模式中你可以指定当一个特定时间发生时回调对象上的方法。- _& n V+ Q7 [% N# ?8 R
8 L; x: x3 S2 W8 R$ P 例:ActionListener 接口监听.) H, A4 v$ z+ }- E5 T
类似的API有:java.swing.JOptionPane% w' k G! n( U' j5 y
1 w( s: v7 c4 F" `, w, i# b( t8 L java.swing.Timer8 a. b, f' G0 ?% R
java.awt.Tookit6 c0 M* D: h( Z& `( r, Z4 [
/ P3 v, s1 v; M- ~
27.对象clone:clone方法是object一个保护方法,这意味着你的代码不能简单的调用它。
5 u, D, ?, W R3 t
$ {$ A/ V' Z, Y8 H! m 28.内部类:一个内部类的定义是定义在另一个内部的类。
/ s! ?9 s0 T% ~" S
4 m0 E8 U' j. | 原因是:
# G2 m. {9 c9 w% `& D
; H7 T. n! | ^) J# K 1.一个内部类的对象能够访问创建它的对象的实现,包括私有数据。' I7 S, ]: T" ~% m- Q% }
0 x) E# q/ f# }1 U5 _# { 2.对于同一个包中的其他类来说,内部类能够隐藏起来。, q" n% L4 W6 Z' `0 d1 h! y
2 w% F3 X0 p& A! H9 k/ [0 c
3.匿名内部类可以很方便的定义回调。
. Z- F* B$ X' M! T/ Y/ D8 |7 R# u
4.使用内部类可以非常方便的编写事件驱动程序。
`0 H8 f9 x m0 a& J9 V" A
) ?, J. N6 y& [1 j( O 29.代理类(proxy):
; ~0 t' f' \9 }0 _6 U5 d0 R0 N9 M+ h/ U7 ~ T5 x
1.指定接口要求所有代码
* h3 x2 _, Z+ c8 a
1 V5 c9 d; A5 i- O; a! F" y 2.object类定义的所有的方法(toString equals)" b- Z* D. e g! n- X- [
9 C; ]' T+ P/ M* J* v- a4 z
30.数据类型:Java是强调类型的语言,每个变量都必须先申明它都类型,java中总共有8个基本类型.4种是整型,2种是浮点型,一种是字符型,被用于Unicode编码中的字符,布尔型。 |
|