Java面向對象程序設計期末復習試題(附解析)(共32頁)_第1頁
Java面向對象程序設計期末復習試題(附解析)(共32頁)_第2頁
Java面向對象程序設計期末復習試題(附解析)(共32頁)_第3頁
Java面向對象程序設計期末復習試題(附解析)(共32頁)_第4頁
Java面向對象程序設計期末復習試題(附解析)(共32頁)_第5頁
已閱讀5頁,還剩27頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優質文檔-傾情為你奉上 JAVA面向對象程序設計復習試題+解析1) 在JAVA編程中,關于Font下列( bc )是正確的。(選擇兩項)a) 在我們的程序中可以使用Font類中定義的字體常量。b) 我們可以使用Tookit類中的函數來獲取我們的機器中java所支持的字體的列表c) 我們可以自己創建字體實例對象d) 以上說明都正確【解析】參考答案:A BFont屬于java.awt包中的一個類,專門用來設置程序中的字體實例對象。創建Font類的對象時使用的方法:getFont(int face,int style,int size); 例如:Font font = Font.getFont(

2、Font.FACE_SYSTEM,Font.STYLE_BOLD,Font. SIZE_MEDIUM); 無論哪一個參數,都只能使用系統設置的數值,這些數值具體的大小在不同的手機上可能不同。下面對于其中的三個參數的取值做詳細的介紹:face參數指字體的外觀;style參數指字體的樣式;size參數指字體的大小 。這三個參數都是系統中定義好的一些常量。獲得系統的默認字體:Font font = Font.getDefaultFont(); ToolKit類是 Abstract Window Toolkit 的所有實際實現的抽象父類。Toolkit 用于把各種組件綁定到特定的本地工具箱實現上。該類

3、有個方法() 用于返回該工具箱中可用字體名。 也就是可以獲取機器中java所支持的字體的列表。 2) 在Java語言中,在包Package1中包含包Package2,類Class_A直接隸屬于包Package1,類Class_B直接隸屬于包Package2。在類Class_C要應用Class_A的方法A和Class_B的方法B,你需要( ab )語句。(選擇兩項)a) import Package1.*;b) import Package1.Package2.*;c) import Package2.*d) import Package2.Package1.*;【解析】A B Java語言中的

4、包機制就像Windows中的文件夾,用來歸類 類文件的位置。要使用包中的類,有如下二種方法: l 直接導入該包中要用到的類。例如要用到Color類,可以 import java.awt.Colorl 干脆將包中所有的類直接導入。但此時如果包有嵌套的包,不能將嵌套包中的類倒入。Import java.awt.* 本題包的關系如下: Package1包嵌套包Package2 Class_A Class_B掌握了這二條,要在類Class_C要應用Class_A的方法A和Class_B的方法B。也就是要在Class_C中導入Class_A和Class_B。方法如下:import Package1.*

5、/可以導入Class_Aimport Package1.Package2.* /可以導入Class_B3) import java.awt.*;import java.applet.*;public class ButtonDemo extends Applet Public void init()Button pushBotton=new Button(“ok”); Button downButton=new Button(“Yes”); add(pushBotton); add(downBotton);根據以上代碼,下列解釋正確的是( bc )。(選擇兩項)a) 該代碼畫了一個按鈕b) B

6、utton(“ok”)創建一個有顯示“ok”的按鈕c) Button()是構造函數d) 按鈕屬于容器【解析】B C Button是一個GUI組件,并不是容器。因為它里面不能再放其他組件。要創建按鈕,可以使用Button類創建。 Button pushBotton=new Button(“ok”) 其中pushBotton是按鈕實例對象名,Button()是構造方法,初始化該按鈕,此處帶有參數ok,表示該按鈕所顯示的文本為OK。等價于setText方法的作用。此代碼中的add方法是將按鈕添加到容器。但此時該按鈕并沒有顯示出來,因為還沒有實現畫按鈕。【解析】4) 在JAVA編程中,關于Graphi

7、cs,下面( d )是正確的。(選擇一項)a) 在這個類中定義了一些基本的繪圖方法b) 這個類還存在一些不足,因此出現了Graphics2D類,彌補了這個類的某些不足c) 這個類是一個抽象類,我們不能創建這個類的實例d) 以上說法都正確【解析】D 類 java.awt.Graphics,定義:public abstract class Graphics extends Graphics 類是所有圖形上下文的抽象基類,該類包含了一些基本的繪圖方法。這個上下文允許應用將圖形繪制到由不同設備實現的組件上,以及繪制到空閑屏幕的映像中。由于 Graphics 是一個抽象類,應用不能直接調用該構造函數。圖

8、形上下文是從其他圖形上下文獲得的或是通過在一個組件上調用 getGraphics 創建的。 例如使用如下這二個方法:, 針對該類的一些缺點,出現了Graphics2D類,利用java.awt.Graphics2D類可以繪制各種圖形,矩形,圓,二次曲線,餅形以及它們的填充圖形等-,Java,2D圖形編程/2D Graphic。5) 在JAVA編程中,將鼠標放在按鈕上以后,用鼠標單擊按鈕,將會發生鼠標事件和組件激活事件,就鼠標事件而言,將調用( c )個監聽器方法。(選擇一項)a) 1b) 2c) 3d) 4【解析】B鼠標事件在單擊按鈕時實際包含了二個事件: 鼠標壓下 和 鼠標 彈起在Java的事

9、件機制中,每個事件都必須有一個事件監聽者。故選B6) JAVA中,為了辨別用戶關閉窗口的時間,要實現監聽器接口( c )。(選擇一項)a) MouseListenerb) ActionLisenerc) WindowListenerd) 以上都要【解析】D在Java程序中這一般是通過 實現適當的事件監聽者接口來完成的。比如如果需要響應按鈕事件,就需要實現ActionListener 監聽者接口;如果需要響應窗口事件,就需要實現WindowListener監聽者接口。此處當用鼠標點擊關閉時,會產生一個MouseEvent,此類需要實現MouseListener接口。故本題選D7) 在Java語言

10、中,如果你有下面的類定義:abstract class Shape abstract void draw();class Square extends Shape如果你試圖編譯上面的代碼會發生( b )。(選擇一項)a) 一切成功編譯b) Shape可以編譯Square不能編譯c) Square可以編譯Shape不能編譯d) Shape.Square都不能編譯【解析】D由于Square類沒有實現父類Shape的方法draw,從而導致這二個類都不能編譯。8) 對于布局管理器解釋正確的有( ab )。(選擇兩項)a) FlowLayout 以由上到下的方式從左到右排列組件b) BorderLayo

11、ut使用“東”、“西”、“南“、“北”、“居中”來指定組件的位置c) GridLayout提供了類似于選項卡式的對話框的功能d) CardLayout是最靈活的布局方案【解析】 B DJava中的布局方式:BorderLayout 邊界布局方式 :使用“東”、“西”、“南“、“北”、“居中”來指定組件的位置 FlowLayout 流式(順序)布局:按照從左到右由上到下的方式排列組件。 GridLayout 網格布局。把組件按照網格來放置。CardLayout 卡片布局。 對象是容器的布局管理器。它將容器中的每個組件當作一個卡片來處理。在某 一時間,只有一個卡片是可見的,容器象一個卡片堆棧一樣工

12、作。 . CardLayout 定義了 一系列方法,來允許一個應用順序地翻動這些卡片,或顯示一個指定的卡片。是最靈活的布局方案。9) int my_Array;my_Array=new int5;for(int count=0;count<=5;count+)System.out.println(my_Arraycount);以上Java代碼運行的結果是( d )。(選擇一項)a) 將1,2,3,4,5輸出到屏幕b) 將0,1,2,3,4輸出到屏幕c) 將0,1,2,3,4,5輸出到屏幕d) 將出現運行時異常【解析】D 數組my_Array包含5個元素,元素的索引從0到4;而在for循環

13、體中出現了當count=5時,會超出索引邊界;故my_Array5會產生異常。10) 下面描述( bc )是正確的。(選擇兩項)a) Java的源程序必須以”.java”或”.jav”擴展名保存b) Java VM可以是軟件也可以是硬件c) Java使用解釋器執行代碼d) 用高級語言編寫的代碼可以讓計算機理解并執行它們【解析】B CJava的源程序必須以”.java”結尾。 高級語言編寫的程序必須經過編譯或解釋為低級語言;也即要翻譯為計算機可以理解的機器語言。 Java VM(虛擬機)可以是軟件也可以是硬件。Java使用解釋器執行代碼。11) 在JAVA編程中,基于線程的多任務處理環境中,執行

14、特定任務的可執行代碼的最小單位是( b )。(選擇一項)a) 進程b) 線程c) 應用程序d) 服務【解析】B進程是由一個或多個線程組成,進程中可執行代碼的最小單位就是線程。12) 下列選項中,屬于Java語言的關鍵字的是( ac )。(選擇兩項)a) gotob) mallocc) extendsd) FALSE【解析】 A C 先做下面幾個題目:1, which of the following are keywords or reserved words in java 

15、;?    a) if b)then c)goto d)while e)case f)sizeof 2, which of the following are java key words ?    a)double b)Switch c)then d)instanceof 3, which of these

16、 are key words in java ?    a) default b)NULL c)String d)throws e)long f)true答案: 1,acde 2,ad 3,adef 作對了嗎_解釋來了:      1,then和sizeof都不是java的關鍵字,熟悉c或者c,寫慣了asp的高手就要小心嘍。2,所有的關鍵

17、字都是小寫的,所以Switch不是關鍵字。instanceof看上去像方法名,但其實是關鍵字;3,大寫的NULL不是java語言的關鍵字。String是java語言的一個封裝類的類名,也不是關鍵字。再來點系統的:正確識別java語言的關鍵字(keyword)和保留字(reserved word)是十分重要的。Java的關鍵字對java的編譯器有特殊的意義,他們用來表示一種數據類型,或者表示程序的結構等。保留字是為java預留的關鍵字,他們雖然現在沒有作為關鍵字,但在以后的升級版本中有可能作為關鍵字。關鍵字列表abstract boolean break 

18、byte casecatch char class continue defaultdo double else extends falsefinal finally float for ifimplements import instanceof int interfacelong native new null packageprivate protected p

19、ublic return shortstatic super switch synchronized thisthrow throws transient true tryvoid volatile while 保留字const,goto注意點:識別java語言的關鍵字,不要和其他語言如c/c+的關鍵字混淆。 const和goto是java的保留字。所有的關鍵字都是小寫friendly,sizeof不是java的關鍵字13) 在JAVA語言中,Panel默

20、認的布局管理器是( b )。(選擇一項)a) Borderlayoutb) FlowLayoutc) GridLayoutd) GridBagLayout【解析】A常見的幾種布局:BorderLayout 邊界布局方式 :使用“東”、“西”、“南“、“北”、“居中”來指定組件的位置.為默認的布局管理器。 FlowLayout 流式(順序)布局:按照從左到右由上到下的方式排列組件。 GridLayout 網格布局。把組件按照網格來放置。14) 在JAVA語言中,使我們能夠使用和更改字體來顯示或鍵入文本的類是( a )。(選擇一項)a) Java.awt .Fontb) Java.awt.Grap

21、hics.Fontc) Java.Graphics.Fontd) Java.Font【解析】AFont類位于java.awt包中。15) 在Java中,關鍵字( a )使類不能派生出子類。(選擇一項)a) finalb) publicc) privated) volatilee) native【解析】A在類的前面加了final關鍵字,說明該類是一個最終的類,當然也就不能被別人繼承,也就不能派生出子類了。16) 在JAVA編程中,Swing包中的組件處理事件時,下面( a )是正確的。(選擇一項)a) Swing包中的組件也是采用事件的授權處理模型來處理事件的b) Swing包中的組件產生的事件

22、類型,也都帶有一個J字母,如:JMouseEventc) Swing包中的組件也可以采用事件的傳遞處理機制d) Swing包中的組件所對應的事件適配器也是帶有J字母的,如:JMouseAdapter【解析】ASwing是由100%純Java實現的,Swing組件是用Java實現的輕量級( light-weight)組件,沒有本地代碼,不依賴的支持,這是它與AWT組件的最大區別。由于AWT組件通過與具體平臺相關的對等類(Peer)實現,因此Swing比AWT組件具有更強的實用性。Swing在不同的平臺上表現一致,并且有能力提供本地窗口系統不支持的其它特性。Swing包中的組件也是采用事件的授權處

23、理模型來處理事件的。它的事件類型和事件適配器類依然是按照awt包中的方式來定義的,并沒有附帶一個J字母。17) 在JAVA編程中,Java編譯器會將java程序轉換為( a )。(選擇一項)a) 字節碼b) 可執行代碼c) 機器代碼d) 以上所有選項都不正確【解析】A Java編譯器將java程序轉換為字節碼。18) 在JAVA編程中,以下( b )命令用來執行java類文件。(選擇一項)a) javacb) javac) appletviewerd) 以上所有選項都不正確【解析】B Javac是用來編譯java的源文件的命令。 Java執行經過編譯后產生的類文件。Appletviewer是用

24、來查看java Applet程序的工具。19) 在Java中,下列代碼段允許按鈕注冊一個action事件的是( b )。(選擇一項)a) button.enableActionEvents();b) button.addActionListener(anActionListener);c) button.enableEvents(true);d) button.enableEvents(AWTEvent.ACTION_EVENT_MASK);【解析】B向組件注冊事件監聽器的方法是addXXXListener。其中XXX代表事件。事件監聽器(event listener)就是一個實現listen

25、er接口的對象。所以,程序員要做的就是創建一個listener對象,然后向發起事件的組件注冊這個對象。注冊的過程就是調用組件的addXXXListener( )方法,這里"XXX"表示組件所發起的事件的類型。只要看一眼"addListener"方法的名字就能知道組件能處理哪種事件了,所以如果你讓它聽錯了事件,那么編譯就根本通不過。到后面你就會看到,JavaBean在決定它能處理哪些事件時,也遵循"addListener"的命名規范。20) 在Java語言中,下面變量命名合法的有( ad )。(選擇兩項)a) variable123b)

26、 123variablec) privated) selg_asd【解析】A D命名規范:定義這個規范的目的是讓項目中所有的文檔都看起來像一個人寫的,增加可讀性,減少項目組中因為換人而帶來的損失。(這些規范并不是一定要絕對遵守,但是一定要讓程序有良好的可讀性) 普通變量 的命名 以字母或下劃線開頭,由字母、數字、下劃線等組成。但不能是java的關鍵字。 Package 的命名 Package 的名字應該都是由一個小寫單詞組成。 Class 的命名 Class 的名字必須由大寫字母開頭而其他字母都小寫的單詞組成 Class 變量的命名 變量的名字必須用一個小寫字母開頭。后面的單詞用大寫字母開頭。

27、 Static Final 變量的命名 Static Final 變量的名字應該都大寫,并且指出完整含義。 參數的命名 參數的名字必須和變量的命名規范一致。 數組的命名 數組應該總是用下面的方式來命名: byte buffer;而不是: byte buffer; 方法的參數 使用有意義的參數命名,如果可能的話,使用和要賦值的字段一樣的名字: SetCounter(int size) this.size = size;21) 在JAVA編程中,關于TextField的語句如下:JTextField t = new JTextField(“they are good”,40);下面( ad )是正

28、確的。(選擇兩項)a) 在這個JTextField中,最多只能輸入40個字符b) 在這個JTextField中,最少可以輸入40個字符c) 在這個JTextField中,能夠輸入的字符不一定是40個d) 在這個JTextField中,用戶可以編輯所輸入的字符【解析】C D JTextField構造方法的第二個參數表示文本框的列數。但并不限制它能輸入的字符數。public JTextField( text, int columns)創建一個新的文本域,并用待顯示的指定文本初始化,且它的寬度足以顯示指定的字符數。 參數: text - 顯示的文本。 columns - 字符數22) String

29、s1 = new String(“Hello”); String s2 = new String(“there”); String s3 = new String(); 上面是Java程序中的一些聲明,選項中能通過編譯的是( a )。(選擇一項)a) s3 = s1+ s2b) s3 = s1 & s2c) s3 = s1 | s2d) s3 = s1 && s2【解析】A Java的String對象是一個不可變的對象,每次修改或者構造字符串都會有一個新的String對象被創建。本題中只能對字符串對象進行+操作。讀者可以從下面來認識String。問題一:我聲明了什么!

30、String s = "Hello world!" 許多人都做過這樣的事情,但是,我們到底聲明了什么?回答通常是:一個String,內容是“Hello world!”。這樣模糊的回答通常是概念不清的根源。如果要準確的回答,一半的人大概會回答錯誤。 這個語句聲明的是一個指向對象的引用,名為“s”,可以指向類型為String的任何對象,目前指向"Hello world!"這個String類型的對象。這就是真正發生的事情。我們并沒有聲明一個String對象,我們只是聲明了一個只能指向String對象的引用變量。所以,如果在剛才那句語句后面,如果再運行一句: S

31、tring string = s; 我們是聲明了另外一個只能指向String對象的引用,名為string,并沒有第二個對象產生,string還是指向原來那個對象,也就是,和s指向同一個對象。 問題二:"="和equals方法究竟有什么區別? =操作符專門用來比較變量的值是否相等。比較好理解的一點是: int a=10; int b=10; 則a=b將是true。 但不好理解的地方是: String a=new String("foo"); String b=new String("foo"); 則a=b將返回false。 根據前一帖說

32、過,對象變量其實是一個引用,它們的值是指向對象所在的內存地址,而不是對象本身。a和b都使用了new操作符,意味著將在內存中產生兩個內容為"foo"的字符串,既然是“兩個”,它們自然位于不同的內存地址。a和b的值其實是兩個不同的內存地址的值,所以使用"="操作符,結果會是false。誠然,a和b所指的對象,它們的內容都是"foo",應該是“相等”,但是=操作符并不涉及到對象內容的比較。 對象內容的比較,正是equals方法做的事。所以當你是用equals方法判斷對象的內容是否相等,請不要想當然。因為可能你認為相等,而這個類的作者不這樣認

33、為,而類的equals方法的實現是由他掌握的。如果你需要使用equals方法,或者使用任何基于散列碼的集合(HashSet,HashMap,HashTable),請察看一下java doc以確認這個類的equals邏輯是如何實現的。 問題三:String到底變了沒有? 沒有。因為String被設計成不可變(immutable)類,所以它的所有對象都是不可變對象。請看下列代碼: String s = "Hello" s = s + " world!" s所指向的對象是否改變了呢?從本系列第一篇的結論很容易導出這個結論。我們來看看發生了什么事情。在這段代碼中

34、,s原先指向一個String對象,內容是"Hello",然后我們對s進行了+操作,那么s所指向的那個對象是否發生了改變呢?答案是沒有。這時,s不指向原來那個對象了,而指向了另一個String對象,內容為"Hello world!",原來那個對象還存在于內存之中,只是s這個引用變量不再指向它了。 通過上面的說明,我們很容易導出另一個結論,如果經常對字符串進行各種各樣的修改,或者說,不可預見的修改,那么使用String來代表字符串的話會引起很大的內存開銷。因為String對象建立之后不能再改變,所以對于每一個不同的字符串,都需要一個String對象來表示。這

35、時,應該考慮使用StringBuffer類,它允許修改,而不是每個不同的字符串都要生成一個新的對象。并且,這兩種類的對象轉換十分容易。23) 在Java語言中,按“東,西,南,北,中”指定組件的位置的布局管理器是( c )。(選擇一項)a) FlowLayoutb) GridLayoutc) BorderLayoutd) CardLayoute) GridBagLayout【解析】C Java中的布局方式:BorderLayout 邊界布局方式 :使用“東”、“西”、“南“、“北”、“居中”來指定組件的位置 FlowLayout 流式(順序)布局:按照從左到右由上到下的方式排列組件。 Grid

36、Layout 網格布局。把組件按照網格來放置。CardLayout 卡片布局。 對象是容器的布局管理器。它將容器中的每個組件當作一個卡片來處理。在某 一時間,只有一個卡片是可見的,容器象一個卡片堆棧一樣工作。 . CardLayout 定義了 一系列方法,來允許一個應用順序地翻動這些卡片,或顯示一個指定的卡片。是最靈活的布局方案。24) 在Java中允許創建多線程應用程序的接口是( b )。(選擇一項)a) Threadableb) Runnablec) Clonabled) 以上均不是【解析】A25) 在Java語言中,把組件放在BorderLayout的( b )區域時,它會自動垂直調整大

37、小,但不是水平調整。(選擇一項)a) North或Southb) East或Westc) Centerd) North,South或Center【解析】A 在BorderLayout布局方式時,當把組件放在North或South區域時,會自動水平調整組件的大小。相反當在East或West方位時,會自動垂直調整組件的大小。當在Center方位時,垂直和水平方位都會自動調整。26) 在JAVA編程中,以下( c )命令能夠將Java源文件轉換為類文件。(選擇一項)a) appletviewerb) javac) javacd) 以上所有選項都不正確【解析】C Javac是用來編譯java的源文件的

38、命令。產生類文件,也就是字節文件。 Java執行經過編譯后產生的類文件。Appletviewer是用來查看java Applet程序的工具。 27) 在JAVA編程中,Java具有下列( abc )特點。(選擇三項)a) 面向對象b) 跨平臺c) 安全d) 集中式體系結構e) 可編譯成機器代碼【解析】 A B CJAVA語言是完全面向對象的、能夠跨平臺、高安全性的分布式體系結構。可以被虛擬機編譯為字節碼。28) 在Java中,欲定義某類所在的包外的所有類都能訪問這個類,則應用的關鍵字是()。(選擇一項)a) protectedb) privatec) public【解析】C Public 訪問

39、修飾符,該類所在包內和包外的類都可以訪問。最開放。Protected訪問修飾符,只有該類所在包內或它的派生類才能訪問。Private訪問修飾符 ,只有該類所在包內的類才能訪問。29) 在Java中,根據你的理解,下列方法()可能是類Orange的構造函數。(選擇三項)a) Orange()b) Orange()c) Public void Orange()d) Public Orange()e) Public OrangeConstuctor()【解析】A B D構造方法要注意的幾個地方: 名字與類名一樣。可以帶參數重載。 不能帶返回類型,包括void。 30) 在Java中,下列選項表示字符

40、”a”值的是()。(選擇一項)a) ab) “a”c) new Character(a)d) 000a【解析】A字符應用單引號表示 a; new Character(a)表示創建一個字符對象a 000a 用ASCII表示應為 09731) 在Java中,可以使線程運行的方法是()。(選擇一項)a) init();b) start();c) resume();d) sleep();【解析】B32) 在JAVA語言中,下面是main()方法的部分代碼:Frame f=new Frame(“My Frame”);f.setSize(100,100);為在屏幕顯示f,應增加的代碼是()。(選擇一項)a

41、) f.appear();b) f.setForeground();c) f.setVisible();d) f.enable();【解析】C框架Frame是一個頂層容器。在創建后,要在屏幕上顯示只需將其設為可見。故選C。調用setVisible方法。 A項錯誤,沒有該方法 B項設置該窗體的前景色。 D項使該窗體為可用。33) JAVA中,對于drawImage(image,x,y,width,height,this)方法解釋正確的是()。(選擇兩項)a) image是要繪制的圖像b) x,y是表示圖像的中心的位置c) width是源圖像的寬度d) this是容器【解析】 A D 在指定位置并

42、且按指定大小繪制指定的 Image。x,y是表示要畫圖像的位置坐標。34) JAVA中,欲返回按鈕的標簽,其方法是()。(選擇一項)a) getActionCommand()b) setLabel(string str)c) button()d) getLabel()【解析】A欲返回按鈕的標簽使用getActionCommand()方法。35) 在JAVA中,假設我們有一個實現ActionListener接口的類,以下方法,()能夠為一個Button類注冊這個類。(選擇一項)a) addListener()b) addActionListener()c) addButtonListener()

43、d) setListener()【解析】B Swing的事件模型中,組件可以發起(或"射出")事件譯注1。各種事件都是類。當有事件發生時,一個或多個"監聽器(listener)"會得到通知,并做出反應。這樣事件的來 源就同它的處理程序分隔開來了。一般說來,程序員是不會去修改Swing組件的,他們寫的都是些事件處理程序,當組件收到事件譯注1時,會自動調用這些代碼,因此Swing的事件模型可稱得上是將接口與實現分隔開來的絕好范例了。事件監聽器(event listener)就是一個實現listener接口的對象。所以,程序員要做的就是創建一個listener

44、對象,然后向發起事件的組件注冊這個對象。注冊的過程就是調用組件的addXXXListener( )方法,這里"XXX"表示組件所發起的事件的類型。只要看一眼"addListener"方法的名字就能知道組件能處理哪種事件了,所以如果你讓它聽錯了事件,那么編譯就根本通不過。到后面你就會看到,JavaBean在決定它能處理哪些事件時,也遵循"addListener"的命名規范。36) 在JAVA語言中,包pack1的類class1 中有成員方法:protected void method_1(),private void method_2(

45、),public void method_3().和void method_4(),在包pack2中的類class2 不是class1的子類,你在class2 中可以調用的方法有()。(選擇一項)a) method_1b) method_2c) method_3d) method_4【解析】C本題可以通過畫出包中類的結構來分析:pack1: class1 : 受保護的method_1 method_4 私有的method_2 公共的method_3();pack2: class2:由于class2和class1 之間沒有繼承關系;故 class2只能調用class1種的public修飾的方法:

46、 method_3().37) JAVA中,使用()修飾符時,一個類能被同一包或不同包中的其他類訪問。(選擇一項)a) privateb) protectedc) publicd) friendly【解析】C Public 訪問修飾符,該類所在包內和包外的類都可以訪問。最開放。Protected訪問修飾符,只有該類所在包內或它的派生類才能訪問。Private訪問修飾符 ,只有該類所在包內的類才能訪問。 Java中無friendly修飾符。38) 在JAVA中,類Worker是類Person的子類,Worker的構造方法中有一句“super()“,該語句()。(選擇一項)a) 調用類Worker

47、中定義的super()方法b) 調用類Person中定義的super()方法c) 調用類Person的構造函數d) 語法錯誤【解析】C 有些時候經常需要在子類中調用父類的構造方法,此時需用super方法來調用。39) 在JAVA語言中,下列語言()可以畫出一矩形框架,其距左邊界為0像素,距上邊界為10像素,寬為30像素,高為40像素。(選擇一項)a) Graphics g=new Graphics();g.drawRect(10,0,30,40);b) Graphics g=new Graphics();g.drawRect(0,10,30,40);c) Graphics g =new Gra

48、phics();g.drawRect(30,40,10,0)d) Graphics g =new Grphics();g.drawRect(30,40,0,10);【解析】BGraphics類的方法drawRect的語法如下:public void drawRect(int x, int y, int width, int height)繪制指定矩形的輪廓。矩形的左邊和右邊分別為 x 和 x + width 。頂部邊沿和底部邊沿分別為 y 和 y + height 。該矩形是使用圖形上下文的當前顏色繪制的。 參數: x - 將被繪制的矩形的 x 坐標。

49、y - 將被繪制的矩形的 y 坐標。 width - 將被繪制的矩形的寬度。 height - 將被繪制的矩形的高度 故本題選 B40) 在JAVA中,類Animal中的方法printA()定義如下:public void printA()int a=10;int result=10%3;System.out.println(result);在類Dog中方法printA()定義如下:public void printA()int a=10;Systme.out.println(a/3);Dog類的定義如下:Class Dog extends Animal若有語句:Animal animal=n

50、ew Dog();animal.printA();則這段代碼輸出為()。(選擇一項)a) 0 b) 3.3333c) 2d) 3【解析】B 本題關鍵要理解如何使父類的對象調用子類的方法。因為通常都是子類調用父類的方法。Animal animal=new Dog(); 此處雖然聲明的是父類Animal類型的對象,但在初始化時調用的是子類的構造方法。正是因為此,使得animal對象指向Dog類的引用。該對象animal在調用printA()方法時不是調用父類的方法,而是調用在子類中重寫的printA()方法。故本題執行10/3=3.3333.41) 在JAVA中,下列()代碼段允許按鈕注冊一個ac

51、tion事件。(選擇一項)a) button.enableActioinEvents();b) button.addActionListener(anActionListener);c) button.enableEvents(true);d) button.enableEvents(AWTEvent.ACTION_EVENT_MASK);【解析】BSwing的事件模型中,組件可以發起(或"射出")事件譯注1。各種事件都是類。當有事件發生時,一個或多個"監聽器(listener)"會得到通知,并做出反應。這樣事件的來 源就同它的處理程序分隔開來了。一般說

52、來,程序員是不會去修改Swing組件的,他們寫的都是些事件處理程序,當組件收到事件譯注1時,會自動調用這些代碼,因此Swing的事件模型可稱得上是將接口與實現分隔開來的絕好范例了。事件監聽器(event listener)就是一個實現listener接口的對象。所以,程序員要做的就是創建一個listener對象,然后向發起事件的組件注冊這個對象。注冊的過程就是調用組件的addXXXListener( )方法,這里"XXX"表示組件所發起的事件的類型。只要看一眼"addListener"方法的名字就能知道組件能處理哪種事件了,所以如果你讓它聽錯了事件,那么

53、編譯就根本通不過。到后面你就會看到,JavaBean在決定它能處理哪些事件時,也遵循"addListener"的命名規范。42) 在JAVA編程中,實現Runnable接口時必須實現的方法是()。(選擇一項)a) wait()b) run()c) stop()d) start()【解析】B這是在JBuild中的工程中的main方法。程序從此處開始運行,需要運行進程。此處調用了Runnable接口的run方法,并對該方法進行了重寫。public static void main(String args) SwingUtilities.invokeLater(new Runna

54、ble() public void run() try UIManager.setLookAndFeel(UIManager. getSystemLookAndFeelClassName(); catch (Exception exception) exception.printStackTrace(); Runnable接口有一個最重要的方法run,在進程要運行時,必須實現該方法。43) 在JAVA語言中,下面關于類的描述正確的是()。(選擇一項)a) 一個子類可以有多個超類b) 一個超類可以有多個子類c) 子類可以使用超類的所有d) 子類一定比超類有更多的成員方法【解析】B Java語言中

55、只能實現單重繼承,也就是一個子類只能有一個父類。如果要實現多重繼承,只能使用接口來實現。因為一個子類可以實現多重接口。 一個超類可以派生出多個子類。 子類的方法不一定就比父類多。 44) Java Applet的三種狀態:1.Init(),2.Start(),3.Paint(),在Applet載入時的順序是()。(選擇一項)a) 1,2,3b) 2,1,3c) 2,3,1d) 1,3,2【解析】A45) JAVA是一種完全面向()的語言。(選擇一項)a) 過程b) 對象c) 組件d) 服務【解析】BJAVA語言是完全面向對象的、能夠跨平臺、高安全性的分布式體系結構。可以被虛擬機編譯為字節碼。46) JAVA中,實現繼承的關鍵字是()。(選擇一項)a) publicb) classc) extendsd) implements【解析】C A extends B 表示A繼承于B。extends關鍵字表示擴展自。用來實現java中的繼承關系。 47) JAVA程序中,()不能用來表示注釋。(選擇一項)a) /注釋b) /*注釋*/c) /*注釋*/d) /注釋/【解析】D Java中的三種注釋: 對單行代碼注釋 /注釋

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論