- 在线时间
- 0 小时
- 最后登录
- 2005-3-31
- 注册时间
- 2005-3-30
- 听众数
- 2
- 收听数
- 0
- 能力
- 0 分
- 体力
- 66 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 24
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 9
- 主题
- 4
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   20% 该用户从未签到
|
而此机制主要针对是工具者而不是应用及程序。
2 [$ S: ~8 g# O, Q e4 U" B$ g( B
( ~9 [% w. w: a- r- P6 v 反射机制中的最重要的部分是允许你检查类的结构.用到的API有:0 R& d `* p+ W, d; c( i9 Q
* x8 M5 W- [, Q/ N4 ~- h- {
java.lang.reflect.Field 返回字段.
) w3 K8 b7 y7 B1 h+ J java.reflect.Method 返回方法.
. G8 E& J' z8 l/ R java.lang.reflect.Constructor 返回参数.
" [* T8 v' J: x( A2 Y7 y
: ^0 I( K( M# e 方法指针:java没有方法指针,把一个方法的地址传给另一个方法,可以在后面调用它,而接口是更好的解决方案。
) v# g8 r8 k7 [$ l* r$ f+ h6 H2 d, s/ [
23.接口(Interface)说明类该做什么而不指定如何去做,一个类可以实现一个或多个interface。* h& b: w, L6 T% b) D/ E
$ U/ [" D' l7 [6 x1 T6 v/ i 24.接口不是一个类,而是对符合接口要求的类的一套规范。0 }6 u/ c8 ]; x
$ k6 R: ^1 _/ u! G: u5 v, _! [7 }
若实现一个接口需要2个步骤: 7 T# k! J9 u) Q& K3 m) [
2 I @0 ?* J- f" Y
1.声明类需要实现的指定接口。/ n; O3 O d% w7 U g
2.提供接口中的所有方法的定义。
1 m0 [, V! T: ?" b+ A: S& u/ j4 z$ p+ A$ \/ e8 V" B. y
声明一个类实现一个接口需要使用implements 关键字
5 j4 W4 j2 m, a* I) B, e/ X9 h9 z1 r& i0 Q8 h+ z" {
class actionB implements Comparable 其actionb需要提供CompareTo方法,接口不是类,不能用new实例化一个接口.
5 n1 Q6 H& ]1 ?: ]8 J$ N
1 r8 i1 M3 g8 u4 S$ ~+ I 25.一个类只有一个超类,但一个类能实现多个接口。Java中的一个重要接口:Cloneable
' W. P# f3 w* R1 L8 D
( `+ m! U2 J$ O& M( E 26.接口和回调.编程一个常用的模式是回调模式,在这种模式中你可以指定当一个特定时间发生时回调对象上的方法。
+ G! K$ D$ o# V! |0 b! B4 ?7 b
5 [ Z) [/ m f2 |; {$ v 例:ActionListener 接口监听.4 I& A$ z0 J( o$ z0 @2 b% `
类似的API有:java.swing.JOptionPane
" m: {, B7 b+ `. {5 z5 X
0 `: O" Z( }/ D java.swing.Timer" U- b8 I" \: R! o9 }3 [+ B w' y; B+ J
java.awt.Tookit3 e7 S' E3 _$ I) F
) J4 @+ C P3 d! b8 \ 27.对象clone:clone方法是object一个保护方法,这意味着你的代码不能简单的调用它。7 g. b2 i% Z1 b) X. B5 j; W. d
' O6 o* \$ ^0 N7 L- _) O
28.内部类:一个内部类的定义是定义在另一个内部的类。
2 ?; r) e) ]9 ?/ D+ L
# d* e; P, \" l% `8 d0 I( _ 原因是:) e9 V5 @, S3 P' K+ f5 k
2 I n; W% ~! n- r, _5 W+ y& A. X2 _
1.一个内部类的对象能够访问创建它的对象的实现,包括私有数据。0 b% W4 B1 P5 G1 `- N/ m4 s
9 d2 s7 C9 X- j0 L% o, o
2.对于同一个包中的其他类来说,内部类能够隐藏起来。 V- @" x2 F% D) c- L1 \$ p
+ @( \9 w5 M6 d( k% ?) T
3.匿名内部类可以很方便的定义回调。
3 O, h+ V7 ?! G; N' Z$ i" E# N
; k( }8 q# C/ W! P 4.使用内部类可以非常方便的编写事件驱动程序。
% _9 N/ ]2 L1 e9 u: {5 X* X! z7 \" E
29.代理类(proxy):
( X+ ]( `& |# Q& m$ Y' Y( y
1 c' u v. f" X: q1 w 1.指定接口要求所有代码; p+ p) R8 O! w. M7 O4 j
. P: o. M4 h- I- N$ ]
2.object类定义的所有的方法(toString equals)
4 E% v+ ^. I" q0 R0 T$ q6 `: }9 Z4 Q6 [4 s- a, ?
30.数据类型:Java是强调类型的语言,每个变量都必须先申明它都类型,java中总共有8个基本类型.4种是整型,2种是浮点型,一种是字符型,被用于Unicode编码中的字符,布尔型。 |
|