- 在线时间
- 0 小时
- 最后登录
- 2005-3-31
- 注册时间
- 2005-3-30
- 听众数
- 2
- 收听数
- 0
- 能力
- 0 分
- 体力
- 66 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 24
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 9
- 主题
- 4
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   20% 该用户从未签到
|
而此机制主要针对是工具者而不是应用及程序。) R" B7 M% A K! O
# K' c! l* E* d) p$ Q7 X 反射机制中的最重要的部分是允许你检查类的结构.用到的API有:
& _; E; L' A4 W' w/ G- w
' T) S% v& ?2 q: P/ G java.lang.reflect.Field 返回字段.! p6 i# N% a+ \1 [3 ?4 D8 t
java.reflect.Method 返回方法.
# M& S q3 g+ C; n4 e, M* U* Z java.lang.reflect.Constructor 返回参数.7 G8 S2 K: O) v+ h- ]' w' G
" b8 F) t, k' }+ X* ?( p }
方法指针:java没有方法指针,把一个方法的地址传给另一个方法,可以在后面调用它,而接口是更好的解决方案。
& s! \9 H! W4 k+ x
& W+ r4 x- k6 E9 w 23.接口(Interface)说明类该做什么而不指定如何去做,一个类可以实现一个或多个interface。
! r: v' S! ?. ~/ J/ L/ D
& r5 P( G9 _+ ?9 h( e 24.接口不是一个类,而是对符合接口要求的类的一套规范。
: C4 L) a/ E( u! H5 |& f5 q, k9 h. U! S8 w$ r5 J C0 Y
若实现一个接口需要2个步骤:
5 W, Q7 P+ r$ A& ~( B+ K. {# p; w
% |" j3 ^7 }/ ?$ p2 n" f1 M0 v 1.声明类需要实现的指定接口。
! V# @$ D, g8 A. ? 2.提供接口中的所有方法的定义。
( j* n0 v( I. x4 z) e0 Y' T2 W5 c% m3 d7 o3 P: [) B
声明一个类实现一个接口需要使用implements 关键字
4 e V7 s, w( s* b @* r# z+ ~+ |: o; H6 k% Q P- n# v
class actionB implements Comparable 其actionb需要提供CompareTo方法,接口不是类,不能用new实例化一个接口.9 e2 t' N, U5 \9 T
! q. e. S4 z7 P5 R
25.一个类只有一个超类,但一个类能实现多个接口。Java中的一个重要接口:Cloneable
6 r$ @% E2 v9 O+ n$ ?8 V, c4 s
2 U- r$ D0 z, n; F0 s; u 26.接口和回调.编程一个常用的模式是回调模式,在这种模式中你可以指定当一个特定时间发生时回调对象上的方法。+ W; x z* q0 p, z( m
L+ q$ D/ z0 ^" U1 I5 B! R b) v 例:ActionListener 接口监听., F0 ~! M0 i) y: H3 j/ Z2 f
类似的API有:java.swing.JOptionPane; O- ~. k! g& \+ q# _/ e% F
. o" ~; d+ Y6 p; M java.swing.Timer
# b% |, V& t, H* T/ Q/ t java.awt.Tookit. F8 r" g, C* Q/ r
9 `) U7 G! }: r, B! D7 } 27.对象clone:clone方法是object一个保护方法,这意味着你的代码不能简单的调用它。
; U0 L# v! U- h! y3 u# U+ g% `
) ? ]" g+ I, @4 g: i% T1 M9 j# Q) V 28.内部类:一个内部类的定义是定义在另一个内部的类。
u: V+ h/ f/ H" h, B0 m# s8 `7 O
原因是:( q( D6 T. e: _/ ]
$ x \2 ~2 B1 I% G( }+ m8 n* u0 i# ~ 1.一个内部类的对象能够访问创建它的对象的实现,包括私有数据。
9 e% W$ O+ B0 N! i' g9 ]+ S3 J* @' J6 O8 X+ T8 Y
2.对于同一个包中的其他类来说,内部类能够隐藏起来。# }/ N' t: d. S, r0 C
5 W8 W$ h& k/ ]" z0 }' {' \2 ] 3.匿名内部类可以很方便的定义回调。
4 b0 O* [ l( O# W$ m* n, b& E
% l: l' I5 F, z+ E, i8 x* Q ` 4.使用内部类可以非常方便的编写事件驱动程序。
x1 u, ^- I0 O
% g" c4 y {8 S$ a" W 29.代理类(proxy):
+ S7 i+ O9 r/ }! V2 s# {
' e" m1 o3 `% q$ v K* _2 R; g& m 1.指定接口要求所有代码8 B/ w% b9 }6 Z- z. z& y' t
, K4 {# E. Z% P' S
2.object类定义的所有的方法(toString equals)# s K4 ^0 J- m: V5 r- N
" w8 T3 l/ M( U7 F, l, N, M 30.数据类型:Java是强调类型的语言,每个变量都必须先申明它都类型,java中总共有8个基本类型.4种是整型,2种是浮点型,一种是字符型,被用于Unicode编码中的字符,布尔型。 |
|