- 在线时间
- 0 小时
- 最后登录
- 2005-3-31
- 注册时间
- 2005-3-30
- 听众数
- 2
- 收听数
- 0
- 能力
- 0 分
- 体力
- 66 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 24
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 9
- 主题
- 4
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   20% 该用户从未签到
|
而此机制主要针对是工具者而不是应用及程序。
, ~; u2 {& W$ G$ Z6 W: T3 q' F' |% A3 @: F# F
反射机制中的最重要的部分是允许你检查类的结构.用到的API有:; c& U" Y) ?6 ]# D: G( R
5 P& G8 U! |" b, ~( W) K3 k java.lang.reflect.Field 返回字段.# N' @2 x, f7 O7 L& H& {5 [: d1 m; B
java.reflect.Method 返回方法.
& _2 ~$ c( E( ?# T, P; S java.lang.reflect.Constructor 返回参数.
0 [# Z( `- o) ]: S1 v( } Z( I
7 G. _( K% b0 F3 f2 @; T 方法指针:java没有方法指针,把一个方法的地址传给另一个方法,可以在后面调用它,而接口是更好的解决方案。* r. {5 I4 s* `% i3 e1 B. n6 c
( j$ i1 A+ K& x% E; C- Z 23.接口(Interface)说明类该做什么而不指定如何去做,一个类可以实现一个或多个interface。1 F; l! t6 [ u- R z, c
. Z# ~1 ?4 Z0 d, {8 C9 ]1 N
24.接口不是一个类,而是对符合接口要求的类的一套规范。& o- ]+ y4 \6 s
, s2 M, G! {8 z, }; d2 h 若实现一个接口需要2个步骤: ) y) E$ m) `) f
; r9 a5 }+ l, J2 a7 O! n
1.声明类需要实现的指定接口。5 ^0 r, ]9 `. b# L8 o2 J2 s
2.提供接口中的所有方法的定义。
1 v- n( ]+ G. y+ d* k3 p4 @3 V! W3 D8 V" u
声明一个类实现一个接口需要使用implements 关键字
7 k1 ~# J& E0 _# Y* S( L; {
' q3 e" h. w9 p& U class actionB implements Comparable 其actionb需要提供CompareTo方法,接口不是类,不能用new实例化一个接口.
3 V* v/ u6 o8 b: _" b$ [" K5 P, j4 T8 S6 [, R8 i
25.一个类只有一个超类,但一个类能实现多个接口。Java中的一个重要接口:Cloneable4 W9 a/ W0 i/ |+ S
& \! b1 n2 |+ ^/ o/ B- Y
26.接口和回调.编程一个常用的模式是回调模式,在这种模式中你可以指定当一个特定时间发生时回调对象上的方法。* u9 J* O$ P5 Y) o2 v
3 X: U$ Z& l! _2 M: l* ?7 {
例:ActionListener 接口监听. L# Z2 {+ P$ j+ a. v; U0 A
类似的API有:java.swing.JOptionPane
8 @8 M9 l* F: m) k% f9 @8 s5 v
0 j0 q. D& `9 z" s% J! f; t; { java.swing.Timer
* W3 Q0 a _, h; ^* k java.awt.Tookit' a" n/ R! G; \: C; r
- S9 s* T% o; S# g
27.对象clone:clone方法是object一个保护方法,这意味着你的代码不能简单的调用它。
" c/ l7 q: ^& ~9 D
3 \0 X; W* H t 28.内部类:一个内部类的定义是定义在另一个内部的类。
( [6 _$ j; v* f9 t: z( F7 z' r6 I5 [! W1 d; O6 j8 d* t
原因是:
7 B: w- t+ V, t @' `' M- H) ], G8 l* i+ B
1.一个内部类的对象能够访问创建它的对象的实现,包括私有数据。
& d1 q% a! ?$ h# x8 y2 H5 ~5 g8 |* z
2.对于同一个包中的其他类来说,内部类能够隐藏起来。
& @2 ]4 i; Z1 E) W. Y/ Z1 e7 E/ P
3.匿名内部类可以很方便的定义回调。
6 ^! L! o! k/ u, {8 ~7 |! |7 o% |# v
4.使用内部类可以非常方便的编写事件驱动程序。
: G+ a! Z7 i5 A$ x5 j7 j' l {% I( z! m9 o- c* m; O u+ C& _0 ~
29.代理类(proxy): p! J# _ s, {4 n) M
; i& k* k2 A( u8 d" \
1.指定接口要求所有代码
2 f2 ]/ h$ `) d$ N$ a
8 W0 D& H4 Q# k 2.object类定义的所有的方法(toString equals)
' a1 y5 H8 S, [, d6 x) E. B6 d4 R, }3 S" i( m# R0 U
30.数据类型:Java是强调类型的语言,每个变量都必须先申明它都类型,java中总共有8个基本类型.4种是整型,2种是浮点型,一种是字符型,被用于Unicode编码中的字符,布尔型。 |
|