- 在线时间
- 0 小时
- 最后登录
- 2005-3-31
- 注册时间
- 2005-3-30
- 听众数
- 2
- 收听数
- 0
- 能力
- 0 分
- 体力
- 66 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 24
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 9
- 主题
- 4
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   20% 该用户从未签到
|
而此机制主要针对是工具者而不是应用及程序。0 }% d9 X3 U8 }8 W! @
$ F& ~: w/ O% J5 A3 U0 N 反射机制中的最重要的部分是允许你检查类的结构.用到的API有:5 `: ?! S( P! d4 E& h
- b$ P: R. i9 o" k' c' a( e' G# z
java.lang.reflect.Field 返回字段.
% Z! l8 L2 j& w$ F$ M3 b java.reflect.Method 返回方法.% q* j7 [7 g$ _
java.lang.reflect.Constructor 返回参数.4 q( P4 ?/ z. I( L/ R, m
: Z, x$ I. L0 z* i* l2 B8 y
方法指针:java没有方法指针,把一个方法的地址传给另一个方法,可以在后面调用它,而接口是更好的解决方案。
" t2 d$ ~3 ~( i0 r1 r
, _; I/ m' Z7 O2 `/ y/ x 23.接口(Interface)说明类该做什么而不指定如何去做,一个类可以实现一个或多个interface。% T. y- r/ [0 }# J
, z3 j6 G. B. d. |8 Q- J0 ?
24.接口不是一个类,而是对符合接口要求的类的一套规范。
4 L/ @4 r u8 n* L* W
8 O" I1 t6 U2 ^3 x' G 若实现一个接口需要2个步骤:
1 W2 Y" V- E2 r8 p; e+ u) R& M/ i( d7 H, U: h, |
1.声明类需要实现的指定接口。
; e3 K, Z" O$ n6 ?* A; b 2.提供接口中的所有方法的定义。
/ d. l4 c4 X' @5 r& J* n z
& u. @- f8 j5 k, p q6 c. x. x9 M3 d 声明一个类实现一个接口需要使用implements 关键字
& M9 {+ P1 {, ~" W: t6 t
8 K! q( y$ R; ]3 E. l class actionB implements Comparable 其actionb需要提供CompareTo方法,接口不是类,不能用new实例化一个接口.4 E, S) ]/ ^7 J, m! Y
* ?3 p: o" s. u; H. W- b 25.一个类只有一个超类,但一个类能实现多个接口。Java中的一个重要接口:Cloneable3 v( ^) a$ C1 H9 J0 f
& F! A$ X, @* Q P6 w) T' V
26.接口和回调.编程一个常用的模式是回调模式,在这种模式中你可以指定当一个特定时间发生时回调对象上的方法。7 W; k4 z$ l' j4 A* c# g1 @
* q, i5 w% C% g, a: F 例:ActionListener 接口监听.( I, ~9 i( X# C4 b' }1 o1 c
类似的API有:java.swing.JOptionPane
) Y$ q2 t$ ~9 t) U9 V7 g
7 z" v- t1 _1 p0 y: U) \ java.swing.Timer
1 M, P% e7 K) f java.awt.Tookit
6 [' q8 i; w( \9 |) d, W$ ~5 a$ P1 G3 Q: M$ j8 h& {
27.对象clone:clone方法是object一个保护方法,这意味着你的代码不能简单的调用它。
" Z$ K p6 {( S9 [8 ^
" N( |" t3 x& G3 A( h1 z9 I2 o 28.内部类:一个内部类的定义是定义在另一个内部的类。% y% A9 n) w1 {/ N+ K% y
8 U. Y& n+ D. H; t- n& D 原因是:
6 E# C: y p' S1 @0 Z8 b: L, y2 s( z
1.一个内部类的对象能够访问创建它的对象的实现,包括私有数据。! i' u6 X0 q2 J) i, I l/ d* G
/ @9 Q9 g7 A' J6 `& N9 I
2.对于同一个包中的其他类来说,内部类能够隐藏起来。
8 y6 {+ g" a* t3 E3 o5 |( S" l" H. P! d7 Q+ ^! w! E
3.匿名内部类可以很方便的定义回调。
* _0 c) i( F" J! V2 t5 U- a. s& n; Q# G+ i$ H& v, V, O/ S0 B1 L
4.使用内部类可以非常方便的编写事件驱动程序。
9 U. R: z) `5 w, u
: ^8 i) y$ f1 O; B* p, g 29.代理类(proxy):' g( \3 Z- _9 ~9 g2 j: Z. w
0 x' E( N) @, @/ Z, F 1.指定接口要求所有代码
7 w; M% g5 {( v0 k; p
- \1 D9 U) Q1 y K2 @2 o5 E! s1 w 2.object类定义的所有的方法(toString equals)& z4 B4 u) E. O: T, O7 Q+ v! ?. P* [
3 k4 _* B; G1 W- z# O9 T- }* q# s
30.数据类型:Java是强调类型的语言,每个变量都必须先申明它都类型,java中总共有8个基本类型.4种是整型,2种是浮点型,一种是字符型,被用于Unicode编码中的字符,布尔型。 |
|