- 在线时间
- 0 小时
- 最后登录
- 2005-3-31
- 注册时间
- 2005-3-30
- 听众数
- 2
- 收听数
- 0
- 能力
- 0 分
- 体力
- 66 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 24
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 9
- 主题
- 4
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   20% 该用户从未签到
|
而此机制主要针对是工具者而不是应用及程序。! l1 ~1 H; R7 i
8 s. g. a+ l4 |5 j2 R
反射机制中的最重要的部分是允许你检查类的结构.用到的API有:
- O9 ]& g0 g3 Y0 j |" s/ C4 \) q8 }& s4 o
java.lang.reflect.Field 返回字段.( H8 v$ r* f! ^1 ^$ o) M
java.reflect.Method 返回方法.
0 [& a% u k0 _7 v- j! {7 Y java.lang.reflect.Constructor 返回参数.
: m& }) M$ G9 z% O3 @1 o5 O! @ C8 V2 y, c
方法指针:java没有方法指针,把一个方法的地址传给另一个方法,可以在后面调用它,而接口是更好的解决方案。8 G. n% F; _6 a( Z. f0 x
; B+ o* e L. P$ ?: ^* Q0 C
23.接口(Interface)说明类该做什么而不指定如何去做,一个类可以实现一个或多个interface。
& y; F& ~. t" n& X& ?0 j. g7 k) ^" o9 s6 s( x: `9 @
24.接口不是一个类,而是对符合接口要求的类的一套规范。0 q; t- C6 t& L2 ?; J; M
9 p! ^, C% x/ E- F$ j- i s
若实现一个接口需要2个步骤: - M V7 u! d, K5 n+ r0 z
+ T- {' T4 F9 \, G7 z
1.声明类需要实现的指定接口。
- K9 b' y4 v) K 2.提供接口中的所有方法的定义。8 x* b1 E. _2 C R
; {. {. W" j) r3 k 声明一个类实现一个接口需要使用implements 关键字( ^, r# a( {6 k* L5 y
: u+ ]! J' F6 O5 r
class actionB implements Comparable 其actionb需要提供CompareTo方法,接口不是类,不能用new实例化一个接口.' d' ^7 I6 F6 l# `
' k7 n X0 f9 U0 C M: h
25.一个类只有一个超类,但一个类能实现多个接口。Java中的一个重要接口:Cloneable
0 m; m7 y& D( S8 C, `1 Z. @4 D, I3 H% s3 v. }& m9 m6 ~- Q3 h' c. V
26.接口和回调.编程一个常用的模式是回调模式,在这种模式中你可以指定当一个特定时间发生时回调对象上的方法。
9 J$ {- s7 A/ R, N
* A; H, N+ n1 i4 U1 C. E 例:ActionListener 接口监听.
/ ^9 |9 L: T W3 L6 U% j3 G& @0 ` 类似的API有:java.swing.JOptionPane
% Q# l9 S& p0 B% G) C' }4 R6 D9 }/ `
& l) U6 J5 J- k" m; h+ B java.swing.Timer" I& `; W; j- P8 }* J I6 C
java.awt.Tookit8 Y5 s8 f( k2 K4 I* L" ` {
, m$ b6 X: o, H) p6 {3 ^- ` 27.对象clone:clone方法是object一个保护方法,这意味着你的代码不能简单的调用它。4 q4 L$ v( C) g& }
0 C+ n6 u5 W% ]
28.内部类:一个内部类的定义是定义在另一个内部的类。) O6 Z/ X$ E2 W/ u V
, ?; p: |- s, [; k* y+ ` 原因是:/ e0 D3 e+ `9 J/ w( n+ X' ^( `' h
9 v- J8 X e7 {. e6 p 1.一个内部类的对象能够访问创建它的对象的实现,包括私有数据。
7 g7 E. v, l9 B
, C& D; k, \# Q k! b; z7 [ 2.对于同一个包中的其他类来说,内部类能够隐藏起来。- o5 Q1 m( a* q4 S2 T) D9 f( s
5 Z9 D* c; `4 M8 f: t 3.匿名内部类可以很方便的定义回调。6 h6 V7 | |. d4 @
! i9 A* l9 v% J 4.使用内部类可以非常方便的编写事件驱动程序。
, C/ P, v% O' e2 F( j2 k- k7 B$ ^0 t2 O# Z3 e& s% W+ X! {9 P
29.代理类(proxy): M. D3 F m0 }3 U0 P7 g
1 \3 z: f, B; j( H
1.指定接口要求所有代码
4 ~8 z) v( |8 Z0 E
3 z: V' o' X M" x3 c6 M 2.object类定义的所有的方法(toString equals): l* c8 |, H' b0 [" e# I9 ]4 F% k
1 Q: H5 s5 g( `# k ]+ D 30.数据类型:Java是强调类型的语言,每个变量都必须先申明它都类型,java中总共有8个基本类型.4种是整型,2种是浮点型,一种是字符型,被用于Unicode编码中的字符,布尔型。 |
|