- 在线时间
- 0 小时
- 最后登录
- 2005-3-31
- 注册时间
- 2005-3-30
- 听众数
- 2
- 收听数
- 0
- 能力
- 0 分
- 体力
- 66 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 24
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 9
- 主题
- 4
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   20% 该用户从未签到
|
而此机制主要针对是工具者而不是应用及程序。, i/ Y; @# A- h. z+ s
) l3 Z4 v; E/ y4 D3 }# U3 B; x 反射机制中的最重要的部分是允许你检查类的结构.用到的API有:7 l8 ~8 i" Q0 T7 e. r
% J" D, i$ i6 D
java.lang.reflect.Field 返回字段.6 Y8 f9 G8 c1 w9 n7 J& Z( X( e
java.reflect.Method 返回方法.8 d9 Y/ N6 z2 N$ B q I( Z* l G' q
java.lang.reflect.Constructor 返回参数.4 Y; ~% Z2 u1 G$ d/ r# q: H- \0 Y
% l/ g D6 D5 T* w
方法指针:java没有方法指针,把一个方法的地址传给另一个方法,可以在后面调用它,而接口是更好的解决方案。
3 e8 B5 J( u, j% A. {: u3 G8 I8 q. s; z: S2 V* |3 L
23.接口(Interface)说明类该做什么而不指定如何去做,一个类可以实现一个或多个interface。$ u) ?. ^* @0 ^7 W& R
6 Q4 [: a6 K) z3 d 24.接口不是一个类,而是对符合接口要求的类的一套规范。
5 ^$ G0 w; e* B+ x$ V2 o9 G8 r5 t5 n, g# X1 I- o; n
若实现一个接口需要2个步骤: . P3 H' Z! R7 b$ V# m6 `
7 K; D1 z* ~% C$ X$ c+ t 1.声明类需要实现的指定接口。
$ [ g! y& ?' u 2.提供接口中的所有方法的定义。9 x3 U1 _' b# G- m
& ^0 F, U$ g: L6 M" C
声明一个类实现一个接口需要使用implements 关键字
9 Q, r6 `, |" p' Q! `! C! G' w) g' a) u, D+ h
class actionB implements Comparable 其actionb需要提供CompareTo方法,接口不是类,不能用new实例化一个接口.4 E& I" e) ?, r) q
1 f* q2 ~3 V; I, s: ], |: C
25.一个类只有一个超类,但一个类能实现多个接口。Java中的一个重要接口:Cloneable3 b& h- K8 r% K( S! J
+ j# U- e: _# f. t 26.接口和回调.编程一个常用的模式是回调模式,在这种模式中你可以指定当一个特定时间发生时回调对象上的方法。
5 d8 t: Y! W0 X9 d, r8 c) `6 I) `8 v
例:ActionListener 接口监听." _8 e1 u9 ^3 k4 p9 h
类似的API有:java.swing.JOptionPane& v" L0 p+ A- U
# \" B( c/ U6 O2 S; | java.swing.Timer
1 l) y/ B4 ~; |# k: ^2 r6 P java.awt.Tookit' X9 r4 p3 z ]& ?" D) } t4 @! q
9 v* p4 F; E# |8 R0 a# h) ~, Z
27.对象clone:clone方法是object一个保护方法,这意味着你的代码不能简单的调用它。, A' z2 o! I/ ~' O
! V' w6 O5 q$ ^/ m" N M: C
28.内部类:一个内部类的定义是定义在另一个内部的类。
+ E- q- G! y% h
5 g+ R9 j; \* R 原因是:/ T, B# U5 U4 N2 \. g% e9 j% [3 `& z
" J! O" u. n% ], y) Y 1.一个内部类的对象能够访问创建它的对象的实现,包括私有数据。- ^; d7 D3 L7 X; D) Q J
/ h, `# D2 r" t5 S; K+ {6 l! d
2.对于同一个包中的其他类来说,内部类能够隐藏起来。
6 @+ j. @! f8 x" K% L
K; W0 h$ M% m! f! k9 Z$ Q2 L 3.匿名内部类可以很方便的定义回调。
% k, I" e' T' W" o' ]9 Q, f/ N
4 k4 y8 w/ n7 u4 `4 t! ` 4.使用内部类可以非常方便的编写事件驱动程序。
2 Z; U* y+ p( }% N' D+ G4 {: \, J$ z: Y; O. z3 |, C' U; |3 x' I) Q( |
29.代理类(proxy):" F& L* Q2 ]* k3 B& e
# d8 n8 e3 R+ Z" ~3 O$ g
1.指定接口要求所有代码
- `# P- ?+ K& ^, ^& z# d# q. r6 [
- z! x- Z$ ~) h! K5 j2 B 2.object类定义的所有的方法(toString equals)
& j& R7 V" k, Z+ h7 v: f5 G+ ?1 P( A6 ~* r* E8 G* n
30.数据类型:Java是强调类型的语言,每个变量都必须先申明它都类型,java中总共有8个基本类型.4种是整型,2种是浮点型,一种是字符型,被用于Unicode编码中的字符,布尔型。 |
|