關燈 巨大 直達底部
親,雙擊螢幕即可自動滾動
第6部分

licstaticvoidmain(Stringargs''){method(42);}}這個類被呼叫,所有的靜態變數都被初始化,a被賦為3,然後執行static塊,這將列印出一段訊息,並且把b賦為a*4,即12。然後直譯器呼叫main成員函式,它呼叫了成員函式method,引數x為42。這三個println語句列印了兩個靜態變數a、b和區域性變數x。下面是執行結果:C:》javaStatic靜態初始塊x=42a=3b=12一個靜態成員函式可以透過它所屬的類名來呼叫。象呼叫例項變數一樣,你可以用點運算子透過類名來呼叫靜態成員函式和靜態變數。Java就是這樣實現了全域性函式和全域性變數。下面的例子裡,我們建立了帶有一個靜態成員函式和兩個靜態變數的類。第二個類可以透過名字直接來呼叫第一個類的靜態成員函式和靜態變數。

classstaticClass{staticinta=42;staticintb=99;staticvoid

callme(){System。out。println(”a=”+a);}}

classStaticByName{publicstaticvoidmain(Stringargs'')

{StaticClass。callme();System。out。println(”b=”+staticClass。b);}}

下面是執行結果:C:》javastaticByNamea=42b=99

5。16抽象

有時你需要定義一個給出抽象結構、但不給出每個成員函式的完整實現的類。如果某個成員函式沒有完整實現,必須要由子類來覆蓋,你可把它宣告為抽象(abstract?copy;型。含有抽象型成員函式的類必須宣告為抽象的。為了把一個類宣告為抽象的,你只需在類定義的class關鍵詞前放置關鍵詞abstract。這?copy;類不能直接用new運算子生成例項,因為它們的完整實現還沒有定義。你不能定義抽象的建構函式或抽象的靜態成員函式。抽象類的子類或者實現了它的超類的所有抽象的成員函式,或者也被宣告為抽象的。下面例子是一個帶有抽象成員函式的類,其後是一個實現了該成員函式的類。

abstractclassA{abstractvoidcallme();voidmetoo(){system。out。println(”在A的metoo成員函式里”);}}classBextendsA{voidcallme(){System。out。println(”在B的callme成員函式里”);}}classAbstract{publicstaticvoidmain(Stringargs''){Aa=newB();

a。callme();a。metoo();}}

下面是執行結果:C:》javaAbstract在B的callme成員函式里在A的metoo成員函式里

本章小結

1。類是Java語言物件導向程式設計的基本元素,它定義了一個物件的結構和功能。2。Java透過在類定義的大括號裡宣告變數來把資料封裝在一個類裡,這裡的變數稱為例項變數。3。成員函式,是類的功能介面,是類定義裡的一個子程式,在類的定義裡和例項變數處於同一級別。

第六章Java圖形使用者介面

對一個優秀的應用程式來說,良好的圖形使用者介面是必不可少的。缺少良好的圖形使用者介面,將會給使用者理解和使用應用程式帶來很多不便。很難想象使用者為了學會使用一個應用程式,去記一大堆命令。Java提copy;了生成一個良好的圖形使用者介面所需要的一copy;基本元件:面板(Panelcopy;、按鈕(Buttoncopy;、標copy;(Labelcopy;、畫板(Canvasescopy;、捲軸(Scrollbarcopy;、列表框(Listcopy;、文字域(TextFieldcopy;、文字區(TextAreacopy;。

6。1面板

面板提copy;了建立應用程式的空間。你可以把圖形元件(包括其他面板copy;放在一個面板上。Applet類提copy;了一個基本的面板。

6。1。1佈局管理