( J* ?, f, { ^6 g; f( J 15.动态调用比静态调用花费的时间要长。7 p+ r: }. Z L
: m4 Y! A" o; n% d 16.抽象类:规定一个或多个抽象方法的类本身必须定义为abstract。 ' T! U4 y! @" P' u. K8 O/ c 8 @& L$ d. o0 y 例: public abstract string getDescripition 6 [! G* Q/ x2 Z$ ]$ q& X * M+ |# w( c) U4 r% |: G: o. B 17.Java中的每一个类都是从Object类扩展而来的。8 R, W0 L, U+ d- B
% i2 |: ~2 W1 ` E 18.object类中的equal和toString方法。 , M! p$ ~6 T. P" A 3 m$ S- q: T3 V2 Z* B0 T. u1 Q equal用于测试一个对象是否同另一个对象相等。 7 S& p$ K0 n6 ^# u: k" w 8 C+ g: U$ x; [7 t" U; Q4 U. b toString返回一个代表该对象的字符串,几乎每一个类都会重载该方法,以便返回当前状态的正确表示. 8 o" Y0 P& j; e1 p (toString 方法是一个很重要的方法) ! M8 g) @9 Z; b7 i- I 6 q/ n& V5 o0 p, _: ` 19.通用编程:任何类类型的所有值都可以同object类性的变量来代替。4 H, N$ Q( f; k
# X. [3 x( H6 z' _
20.数组列表:ArrayList动态数组列表,是一个类库,定义在java.uitl包中,可自动调节数组的大小。 ' b9 N9 e& }1 F5 w: }* } " N! e3 Y+ R1 @, \& D6 z' h( n 21.class类 object类中的getclass方法返回ckass类型的一个实例,程序启动时包含在main方法的类会被加载,虚拟机要加载他需要的所有类,每一个加载的类都要加载它需要的类。+ F2 A8 N0 \7 N/ R, [( t+ x
7 B6 ~! |1 J! \2 `9 [
22.class类为编写可动态操纵java代码的程序提供了强大的功能反射,这项功能为JavaBeans特别有用,使用反射Java能支持VB程序员习惯使用的工具。 9 d8 n* v3 n% G4 y : j. E& S6 F# r! R7 n" L* y 能够分析类能力的程序叫反射器,Java中提供此功能的包叫Java.lang.reflect反射机制十分强大. - {: Y' G |8 C" E$ |$ b6 [2 \: D" n" R. b2 r; m/ M( \2 n$ ]1 ^
1.在运行时分析类的能力。 8 F9 E7 C& `0 h3 J4 N# ? 2.在运行时探察类的对象。 1 m- Q: V1 W- N9 h! F! Q( r 3.实现通用数组操纵代码。 3 ]0 {! Y6 S7 C, Q 4.提供方法对象。作者: BENNY 时间: 2005-3-30 10:06
而此机制主要针对是工具者而不是应用及程序。 : b, t' v" }$ U : m# n- x$ m" I+ W 反射机制中的最重要的部分是允许你检查类的结构.用到的API有: 5 _/ m3 [4 k2 f- L0 Z! o 0 s+ G' O; h4 E; H4 g R( }: P java.lang.reflect.Field 返回字段., A/ b" F! g! l ~3 n: r$ [- U
java.reflect.Method 返回方法. 5 E" Q1 H5 N+ c+ D8 ]2 V8 Y java.lang.reflect.Constructor 返回参数.. z/ t% \' `! Y
1 L! c/ R/ b0 G- l+ D! X2 ^ class actionB implements Comparable 其actionb需要提供CompareTo方法,接口不是类,不能用new实例化一个接口. 8 g- \0 a/ T6 w- Y: G9 P . e2 W& P- [8 N3 \2 J C2 P 25.一个类只有一个超类,但一个类能实现多个接口。Java中的一个重要接口:Cloneable 7 s; u6 h! ~+ I. _, U% u/ r, J2 j* q" n: r# q7 o4 K9 q
26.接口和回调.编程一个常用的模式是回调模式,在这种模式中你可以指定当一个特定时间发生时回调对象上的方法。 - N6 |" V- ?6 q5 {& E6 c , \/ A& r# d2 l4 o$ Q 例:ActionListener 接口监听. # L! s7 [/ Y) p p2 r9 r& U5 g 类似的API有:java.swing.JOptionPane ! s) Y. P5 N" `8 M. s) `( k ! x' C$ O) g5 [8 p a java.swing.Timer' N$ a8 H4 ^' L4 P( i% l
java.awt.Tookit 8 s- c, s! P1 c; q7 z, t, T2 o8 I' _7 ]8 M
27.对象clone:clone方法是object一个保护方法,这意味着你的代码不能简单的调用它。 5 D* f3 I9 a% `3 p* I. t8 _# m+ w3 C; |: D U) ?
28.内部类:一个内部类的定义是定义在另一个内部的类。* X9 o3 g3 C" B o. c3 e5 ]3 D
$ p5 H' J0 B( M4 I. }
原因是: 6 U6 e" P% R5 K7 `. m# z# b1 L/ B$ F6 a
1.一个内部类的对象能够访问创建它的对象的实现,包括私有数据。$ z7 A- s5 O) m4 O3 n
! h: f, r: k! n' y" J* x
2.对于同一个包中的其他类来说,内部类能够隐藏起来。 ' x5 x& q3 g( ?: @, o: \" k V/ \( Q1 V$ D6 p5 K
3.匿名内部类可以很方便的定义回调。4 V6 V J$ ~( h) j
5 O! _, D' Q# \1 J* u 4.使用内部类可以非常方便的编写事件驱动程序。' o) M* G& N! H1 i( |
( H, t3 j! H- j/ J- l
29.代理类(proxy):9 `/ x h; D9 d( H$ W' |' o* U
! i& `& v5 l* [ 1.指定接口要求所有代码4 T" C. y c. g5 ~$ l% Y
) O- K- w$ d+ K, w0 G7 A' `
2.object类定义的所有的方法(toString equals)- t S' X% s; }
- ]+ R6 X+ ^1 P' n1 ?4 c
30.数据类型:Java是强调类型的语言,每个变量都必须先申明它都类型,java中总共有8个基本类型.4种是整型,2种是浮点型,一种是字符型,被用于Unicode编码中的字符,布尔型。