! P: |" A$ c' E 若实现一个接口需要2个步骤: 9 j, Y" ]$ Y4 \8 m! p
4 [2 Z2 ?% V& A' J 1.声明类需要实现的指定接口。 * S* K' a" ]9 q" E t3 O- f 2.提供接口中的所有方法的定义。 , h& N# N' |1 V } ! E. N, U, j) L3 S' Y& m7 ?* K 声明一个类实现一个接口需要使用implements 关键字 8 T' A8 q( [$ U) |! Q5 x% z% f h / _0 w* ^8 c" t4 y/ J9 M, S class actionB implements Comparable 其actionb需要提供CompareTo方法,接口不是类,不能用new实例化一个接口.) q7 J, n' v+ {+ C8 Y B
3 B/ G) B; j, V0 m6 b5 t& b 25.一个类只有一个超类,但一个类能实现多个接口。Java中的一个重要接口:Cloneable 3 ~2 i6 l( W1 ^7 b' e4 w 6 H: S5 H4 V$ g. o% Z 26.接口和回调.编程一个常用的模式是回调模式,在这种模式中你可以指定当一个特定时间发生时回调对象上的方法。! T. W& r; V; w" o: C8 C2 h9 J. p- D1 f
% _5 Q5 H( u# R- q
例:ActionListener 接口监听.+ N2 |- r8 [( @8 I4 r0 E5 @
类似的API有:java.swing.JOptionPane : a/ S4 L' Z" E$ ?' |/ ^5 a M* Q
java.swing.Timer $ ~3 I) m) c/ g# z1 { java.awt.Tookit" m. t" r K" r+ B6 e$ J
/ Q* Z' f+ g/ B' i2 h9 |
27.对象clone:clone方法是object一个保护方法,这意味着你的代码不能简单的调用它。' B2 [9 B5 [3 b) ^4 `
# s8 l5 k2 u! |& {& M) g 28.内部类:一个内部类的定义是定义在另一个内部的类。/ a( {( p' c. l
' E' C& i2 R* `6 _ 原因是:) k9 [5 Q& i+ w* |
3 B; o. t: g: D) V* a$ V1 z B 1.一个内部类的对象能够访问创建它的对象的实现,包括私有数据。0 P: O0 ?# Q# c0 }9 g! x
9 a0 r- |+ z9 j4 U" |! V
2.对于同一个包中的其他类来说,内部类能够隐藏起来。9 b: e! Z% K- _: D& g
; j0 K/ H9 C, G( m# L' m
3.匿名内部类可以很方便的定义回调。0 S0 H$ ?5 N! J+ E
. X) a( E5 }8 [( E0 U3 Z3 |4 W* U/ F
4.使用内部类可以非常方便的编写事件驱动程序。 ; x% q4 R$ I1 Z9 G( V: ]8 Y 1 x H! K3 m0 i4 N+ D( w 29.代理类(proxy):! n" X* P9 V" _' K& B
Y) z5 R/ v& O6 V& o* \ 1.指定接口要求所有代码! ?* G4 E, F& \' @: k2 u+ i
; e) G% h. M7 O) a 2.object类定义的所有的方法(toString equals) {5 D5 [: p" E" W$ r) ]4 G! F! B2 l: @" i9 x1 I7 j5 R
30.数据类型:Java是强调类型的语言,每个变量都必须先申明它都类型,java中总共有8个基本类型.4种是整型,2种是浮点型,一种是字符型,被用于Unicode编码中的字符,布尔型。