- 在线时间
- 0 小时
- 最后登录
- 2005-3-31
- 注册时间
- 2005-3-30
- 听众数
- 2
- 收听数
- 0
- 能力
- 0 分
- 体力
- 66 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 24
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 9
- 主题
- 4
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   20% 该用户从未签到
|
而此机制主要针对是工具者而不是应用及程序。; J$ z/ r4 V* @% ^. f" H. z
/ Y, R, ?7 S/ G4 K1 b
反射机制中的最重要的部分是允许你检查类的结构.用到的API有:: `# n# C0 Z* E' R$ L$ D
3 V* N$ [$ `2 f) [8 a java.lang.reflect.Field 返回字段.' e+ M0 R/ q$ h2 X- o8 J+ O
java.reflect.Method 返回方法.! F6 }4 }1 j2 c
java.lang.reflect.Constructor 返回参数.
0 y D$ Q5 a3 r( c# \7 b, \! m/ f8 ^2 V& o- s; N% a) t
方法指针:java没有方法指针,把一个方法的地址传给另一个方法,可以在后面调用它,而接口是更好的解决方案。
9 ]+ }# F% ?8 Q: w3 ^
1 u" U2 r3 s" T. Y 23.接口(Interface)说明类该做什么而不指定如何去做,一个类可以实现一个或多个interface。0 |! f4 Q s$ h8 b% {* _7 i
" H( Y9 h/ L3 o/ X' V3 j1 T 24.接口不是一个类,而是对符合接口要求的类的一套规范。3 C2 p6 C0 C6 n/ D# e
2 K- I; H6 ?* B; A; F+ w& g 若实现一个接口需要2个步骤: 2 @4 X/ f! C: ], u* m
4 t9 {' l! V) B( I
1.声明类需要实现的指定接口。
" {% i7 D/ ~" g5 K- [ 2.提供接口中的所有方法的定义。
+ J) }0 U# Q3 j5 Z4 {
' J6 s: |: I+ J+ G G; _ 声明一个类实现一个接口需要使用implements 关键字, u3 V: }: T: z ^& q/ e( I7 g
4 T( B% q- [6 c# G2 u
class actionB implements Comparable 其actionb需要提供CompareTo方法,接口不是类,不能用new实例化一个接口.
, N+ B! Q3 B6 ]' y' {
* |7 r4 _: y, D; r4 a 25.一个类只有一个超类,但一个类能实现多个接口。Java中的一个重要接口:Cloneable3 T* ^# L6 N' K# q
. L) T: U" a7 s
26.接口和回调.编程一个常用的模式是回调模式,在这种模式中你可以指定当一个特定时间发生时回调对象上的方法。' p; L: P# m3 r! M7 V% E1 Q
4 w" e! H. i6 l8 g1 i: D# G6 J' W 例:ActionListener 接口监听.% X0 w" A1 s" U4 e4 v5 p$ H* S
类似的API有:java.swing.JOptionPane
' j- l; a( Q t! b& U* t* l1 n3 q; d. k: V; I7 }% t0 Q
java.swing.Timer
' j3 a l6 x' |: x5 | java.awt.Tookit
7 e* e- j- f6 t1 O, P8 |
4 u. S/ T! _ F! | 27.对象clone:clone方法是object一个保护方法,这意味着你的代码不能简单的调用它。5 ~3 o6 b: s' e" G; V0 i8 z
5 x# \( v; B4 S' U: L: G0 s
28.内部类:一个内部类的定义是定义在另一个内部的类。! m1 X" y, R4 x, y3 y- I% M2 Z6 C
& D2 i" @* V- I$ B( o9 H1 u: I" {
原因是:
! v# u4 W0 L0 P: }3 p1 j5 I) B! n- r$ f
1.一个内部类的对象能够访问创建它的对象的实现,包括私有数据。& L1 ]9 r4 a. m6 `+ s0 D
% r6 q5 m+ y1 o8 b0 p
2.对于同一个包中的其他类来说,内部类能够隐藏起来。
, j" W$ a# E! \: J ^
" A9 q, X3 `- z B% v 3.匿名内部类可以很方便的定义回调。
+ N# G& O1 H" g; S) m4 I9 n) e9 M+ A4 l' Y1 J8 B
4.使用内部类可以非常方便的编写事件驱动程序。5 I# V; `+ O: a |* C
- I% T [5 W$ f, U* D0 e# v
29.代理类(proxy):+ s/ C4 A) h' T g& z
; L+ R) a" w( D4 x# _8 L
1.指定接口要求所有代码& P, R8 q) P& i; ` k
2 G3 c$ D% j; o4 J/ {* i 2.object类定义的所有的方法(toString equals)( M" i; ?( W+ D: G
: V9 ?" R x* G
30.数据类型:Java是强调类型的语言,每个变量都必须先申明它都类型,java中总共有8个基本类型.4种是整型,2种是浮点型,一种是字符型,被用于Unicode编码中的字符,布尔型。 |
|