JAVA面向?qū)ο蟪绦蛟O(shè)計(jì)試題與解析庫_第1頁
JAVA面向?qū)ο蟪绦蛟O(shè)計(jì)試題與解析庫_第2頁
JAVA面向?qū)ο蟪绦蛟O(shè)計(jì)試題與解析庫_第3頁
JAVA面向?qū)ο蟪绦蛟O(shè)計(jì)試題與解析庫_第4頁
JAVA面向?qū)ο蟪绦蛟O(shè)計(jì)試題與解析庫_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 JAVA面向?qū)ο蟪绦蛟O(shè)計(jì)試題與解析庫1) 在JAVA編程中,關(guān)于Font下列( bc )是正確的。(選擇兩項(xiàng))a) 在我們的程序中可以使用Font類中定義的字體常量。b) 我們可以使用Tookit類中的函數(shù)來獲取我們的機(jī)器中java所支持的字體的列表c) 我們可以自己創(chuàng)建字體實(shí)例對象d) 以上說明都正確【解析】參考答案:A BFont屬于java.awt包中的一個(gè)類,專門用來設(shè)置程序中的字體實(shí)例對象。創(chuàng)建Font類的對象時(shí)使用的方法:getFont(int face,int style,int size); 例如:Font font = Font.getFont(Font.FACE_SYST

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

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

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

5、e1.Package2.* /可以導(dǎo)入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);根據(jù)以上代碼,下列解釋正確的是( bc )。(選擇兩項(xiàng))a) 該代碼畫了一個(gè)按鈕b) Button(“ok”)創(chuàng)建一個(gè)有顯示“ok”的按鈕

6、c) Button()是構(gòu)造函數(shù)d) 按鈕屬于容器【解析】B C Button是一個(gè)GUI組件,并不是容器。因?yàn)樗锩娌荒茉俜牌渌M件。要?jiǎng)?chuàng)建按鈕,可以使用Button類創(chuàng)建。 Button pushBotton=new Button(“ok”) 其中pushBotton是按鈕實(shí)例對象名,Button()是構(gòu)造方法,初始化該按鈕,此處帶有參數(shù)ok,表示該按鈕所顯示的文本為OK。等價(jià)于setText方法的作用。此代碼中的add方法是將按鈕添加到容器。但此時(shí)該按鈕并沒有顯示出來,因?yàn)檫€沒有實(shí)現(xiàn)畫按鈕?!窘馕觥?) 在JAVA編程中,關(guān)于Graphics,下面( d )是正確的。(選擇一項(xiàng))a) 在

7、這個(gè)類中定義了一些基本的繪圖方法b) 這個(gè)類還存在一些不足,因此出現(xiàn)了Graphics2D類,彌補(bǔ)了這個(gè)類的某些不足c) 這個(gè)類是一個(gè)抽象類,我們不能創(chuàng)建這個(gè)類的實(shí)例d) 以上說法都正確【解析】D ,定義:public abstract class Graphics extends Object Graphics 類是所有圖形上下文的抽象基類,該類包含了一些基本的繪圖方法。這個(gè)上下文允許應(yīng)用將圖形繪制到由不同設(shè)備實(shí)現(xiàn)的組件上,以及繪制到空閑屏幕的映像中。由于 Graphics 是一個(gè)抽象類,應(yīng)用不能直接調(diào)用該構(gòu)造函數(shù)。圖形上下文是從其他圖形上下文獲得的或是通過在一個(gè)組件上調(diào)用 getGraph

8、ics 創(chuàng)建的。 例如使用如下這二個(gè)方法:create, getGraphics 針對該類的一些缺點(diǎn),出現(xiàn)了Graphics2D類,利用java.awt.Graphics2D類可以繪制各種圖形,矩形,圓,二次曲線,餅形以及它們的填充圖形等-,Java,2D圖形編程/2D Graphic。5) 在JAVA編程中,將鼠標(biāo)放在按鈕上以后,用鼠標(biāo)單擊按鈕,將會(huì)發(fā)生鼠標(biāo)事件和組件激活事件,就鼠標(biāo)事件而言,將調(diào)用( c )個(gè)監(jiān)聽器方法。(選擇一項(xiàng))a) 1b) 2c) 3d) 4【解析】B鼠標(biāo)事件在單擊按鈕時(shí)實(shí)際包含了二個(gè)事件: 鼠標(biāo)壓下 和 鼠標(biāo) 彈起在Java的事件機(jī)制中,每個(gè)事件都必須有一個(gè)事件監(jiān)聽

9、者。故選B6) JAVA中,為了辨別用戶關(guān)閉窗口的時(shí)間,要實(shí)現(xiàn)監(jiān)聽器接口( c )。(選擇一項(xiàng))a) MouseListenerb) ActionLisenerc) WindowListenerd) 以上都要【解析】D在Java程序中這一般是通過 實(shí)現(xiàn)適當(dāng)?shù)氖录O(jiān)聽者接口來完成的。比如如果需要響應(yīng)按鈕事件,就需要實(shí)現(xiàn)ActionListener 監(jiān)聽者接口;如果需要響應(yīng)窗口事件,就需要實(shí)現(xiàn)WindowListener監(jiān)聽者接口。此處當(dāng)用鼠標(biāo)點(diǎn)擊關(guān)閉時(shí),會(huì)產(chǎn)生一個(gè)MouseEvent,此類需要實(shí)現(xiàn)MouseListener接口。故本題選D7) 在Java語言中,如果你有下面的類定義:abstra

10、ct class Shape abstract void draw();class Square extends Shape如果你試圖編譯上面的代碼會(huì)發(fā)生( b )。(選擇一項(xiàng))a) 一切成功編譯b) Shape可以編譯Square不能編譯c) Square可以編譯Shape不能編譯d) Shape.Square都不能編譯【解析】D由于Square類沒有實(shí)現(xiàn)父類Shape的方法draw,從而導(dǎo)致這二個(gè)類都不能編譯。8) 對于布局管理器解釋正確的有( ab )。(選擇兩項(xiàng))a) FlowLayout 以由上到下的方式從左到右排列組件b) BorderLayout使用“東”、“西”、“南“、“北”

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

12、 一系列方法,來允許一個(gè)應(yīng)用順序地翻動(dòng)這些卡片,或顯示一個(gè)指定的卡片。是最靈活的布局方案。9) int my_Array;my_Array=new int5;for(int count=0;count<=5;count+)System.out.println(my_Arraycount);以上Java代碼運(yùn)行的結(jié)果是( d )。(選擇一項(xiàng))a) 將1,2,3,4,5輸出到屏幕b) 將0,1,2,3,4輸出到屏幕c) 將0,1,2,3,4,5輸出到屏幕d) 將出現(xiàn)運(yùn)行時(shí)異?!窘馕觥緿 數(shù)組my_Array包含5個(gè)元素,元素的索引從0到4;而在for循環(huán)體中出現(xiàn)了當(dāng)count=5時(shí),會(huì)超出索

13、引邊界;故my_Array5會(huì)產(chǎn)生異常。10) 下面描述( bc )是正確的。(選擇兩項(xiàng))a) Java的源程序必須以”.java”或”.jav”擴(kuò)展名保存b) Java VM可以是軟件也可以是硬件c) Java使用解釋器執(zhí)行代碼d) 用高級語言編寫的代碼可以讓計(jì)算機(jī)理解并執(zhí)行它們【解析】B CJava的源程序必須以”.java”結(jié)尾。 高級語言編寫的程序必須經(jīng)過編譯或解釋為低級語言;也即要翻譯為計(jì)算機(jī)可以理解的機(jī)器語言。 Java VM(虛擬機(jī))可以是軟件也可以是硬件。Java使用解釋器執(zhí)行代碼。11) 在JAVA編程中,基于線程的多任務(wù)處理環(huán)境中,執(zhí)行特定任務(wù)的可執(zhí)行代碼的最小單位是( b

14、 )。(選擇一項(xiàng))a) 進(jìn)程b) 線程c) 應(yīng)用程序d) 服務(wù)【解析】B進(jìn)程是由一個(gè)或多個(gè)線程組成,進(jìn)程中可執(zhí)行代碼的最小單位就是線程。12) 下列選項(xiàng)中,屬于Java語言的關(guān)鍵字的是( ac )。(選擇兩項(xiàng))a) gotob) mallocc) extendsd) FALSE【解析】 A C 先做下面幾個(gè)題目: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 are key&

16、#160;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的關(guān)鍵字,熟悉c或者c,寫慣了asp的高手就要小心嘍。2,所有的關(guān)鍵字都是小寫的,所以Switch不是關(guān)鍵

17、字。instanceof看上去像方法名,但其實(shí)是關(guān)鍵字;3,大寫的NULL不是java語言的關(guān)鍵字。String是java語言的一個(gè)封裝類的類名,也不是關(guān)鍵字。再來點(diǎn)系統(tǒng)的:正確識(shí)別java語言的關(guān)鍵字(keyword)和保留字(reserved word)是十分重要的。Java的關(guān)鍵字對java的編譯器有特殊的意義,他們用來表示一種數(shù)據(jù)類型,或者表示程序的結(jié)構(gòu)等。保留字是為java預(yù)留的關(guān)鍵字,他們雖然現(xiàn)在沒有作為關(guān)鍵字,但在以后的升級版本中有可能作為關(guān)鍵字。關(guān)鍵字列表abstract boolean break byte casecatch

18、 char class continue defaultdo double else extends falsefinal finally float for ifimplements import instanceof int interfacelong native new null packageprivate protected public return&#

19、160;shortstatic super switch synchronized thisthrow throws transient true tryvoid volatile while 保留字const,goto注意點(diǎn):識(shí)別java語言的關(guān)鍵字,不要和其他語言如c/c+的關(guān)鍵字混淆。 const和goto是java的保留字。所有的關(guān)鍵字都是小寫friendly,sizeof不是java的關(guān)鍵字13) 在JAVA語言中,Panel默認(rèn)的布局管理器是( b )。(選擇一項(xiàng)

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

21、t包中。15) 在Java中,關(guān)鍵字( a )使類不能派生出子類。(選擇一項(xiàng))a) finalb) publicc) privated) volatilee) native【解析】A在類的前面加了final關(guān)鍵字,說明該類是一個(gè)最終的類,當(dāng)然也就不能被別人繼承,也就不能派生出子類了。16) 在JAVA編程中,Swing包中的組件處理事件時(shí),下面( a )是正確的。(選擇一項(xiàng))a) Swing包中的組件也是采用事件的授權(quán)處理模型來處理事件的b) Swing包中的組件產(chǎn)生的事件類型,也都帶有一個(gè)J字母,如:JMouseEventc) Swing包中的組件也可以采用事件的傳遞處理機(jī)制d) Swing

22、包中的組件所對應(yīng)的事件適配器也是帶有J字母的,如:JMouseAdapter【解析】ASwing是由100%純Java實(shí)現(xiàn)的,Swing組件是用Java實(shí)現(xiàn)的輕量級( light-weight)組件,沒有本地代碼,不依賴操作系統(tǒng)的支持,這是它與AWT組件的最大區(qū)別。由于AWT組件通過與具體平臺(tái)相關(guān)的對等類(Peer)實(shí)現(xiàn),因此Swing比AWT組件具有更強(qiáng)的實(shí)用性。Swing在不同的平臺(tái)上表現(xiàn)一致,并且有能力提供本地窗口系統(tǒng)不支持的其它特性。Swing包中的組件也是采用事件的授權(quán)處理模型來處理事件的。它的事件類型和事件適配器類依然是按照awt包中的方式來定義的,并沒有附帶一個(gè)J字母。17) 在

23、JAVA編程中,Java編譯器會(huì)將java程序轉(zhuǎn)換為( a )。(選擇一項(xiàng))a) 字節(jié)碼b) 可執(zhí)行代碼c) 機(jī)器代碼d) 以上所有選項(xiàng)都不正確【解析】A Java編譯器將java程序轉(zhuǎn)換為字節(jié)碼。18) 在JAVA編程中,以下( b )命令用來執(zhí)行java類文件。(選擇一項(xiàng))a) javacb) javac) appletviewerd) 以上所有選項(xiàng)都不正確【解析】B Javac是用來編譯java的源文件的命令。 Java執(zhí)行經(jīng)過編譯后產(chǎn)生的類文件。Appletviewer是用來查看java Applet程序的工具。19) 在Java中,下列代碼段允許按鈕注冊一個(gè)action事件的是( b

24、 )。(選擇一項(xiàng))a) button.enableActionEvents();b) button.addActionListener(anActionListener);c) button.enableEvents(true);d) button.enableEvents(AWTEvent.ACTION_EVENT_MASK);【解析】B向組件注冊事件監(jiān)聽器的方法是addXXXListener。其中XXX代表事件。事件監(jiān)聽器(event listener)就是一個(gè)實(shí)現(xiàn)listener接口的對象。所以,程序員要做的就是創(chuàng)建一個(gè)listener對象,然后向發(fā)起事件的組件注冊這個(gè)對象。注冊的過程就

25、是調(diào)用組件的addXXXListener( )方法,這里"XXX"表示組件所發(fā)起的事件的類型。只要看一眼"addListener"方法的名字就能知道組件能處理哪種事件了,所以如果你讓它聽錯(cuò)了事件,那么編譯就根本通不過。到后面你就會(huì)看到,JavaBean在決定它能處理哪些事件時(shí),也遵循"addListener"的命名規(guī)范。20) 在Java語言中,下面變量命名合法的有( ad )。(選擇兩項(xiàng))a) variable123b) 123variablec) privated) selg_asd【解析】A D命名規(guī)范:定義這個(gè)規(guī)范的目的是讓項(xiàng)

26、目中所有的文檔都看起來像一個(gè)人寫的,增加可讀性,減少項(xiàng)目組中因?yàn)閾Q人而帶來的損失。(這些規(guī)范并不是一定要絕對遵守,但是一定要讓程序有良好的可讀性) 普通變量 的命名 以字母或下劃線開頭,由字母、數(shù)字、下劃線等組成。但不能是java的關(guān)鍵字。 Package 的命名 Package 的名字應(yīng)該都是由一個(gè)小寫單詞組成。 Class 的命名 Class 的名字必須由大寫字母開頭而其他字母都小寫的單詞組成 Class 變量的命名 變量的名字必須用一個(gè)小寫字母開頭。后面的單詞用大寫字母開頭。 Static Final 變量的命名 Static Final 變量的名字應(yīng)該都大寫,并且指出完整含義。 參數(shù)的

27、命名 參數(shù)的名字必須和變量的命名規(guī)范一致。 數(shù)組的命名 數(shù)組應(yīng)該總是用下面的方式來命名: byte buffer;而不是: byte buffer; 方法的參數(shù) 使用有意義的參數(shù)命名,如果可能的話,使用和要賦值的字段一樣的名字: SetCounter(int size) this.size = size;21) 在JAVA編程中,關(guān)于TextField的語句如下:JTextField t = new JTextField(“they are good”,40);下面( ad )是正確的。(選擇兩項(xiàng))a) 在這個(gè)JTextField中,最多只能輸入40個(gè)字符b) 在這個(gè)JTextField中,最

28、少可以輸入40個(gè)字符c) 在這個(gè)JTextField中,能夠輸入的字符不一定是40個(gè)d) 在這個(gè)JTextField中,用戶可以編輯所輸入的字符【解析】C D JTextField構(gòu)造方法的第二個(gè)參數(shù)表示文本框的列數(shù)。但并不限制它能輸入的字符數(shù)。public JTextField(String text, int columns)創(chuàng)建一個(gè)新的文本域,并用待顯示的指定文本初始化,且它的寬度足以顯示指定的字符數(shù)。 參數(shù): text - 顯示的文本。 columns - 字符數(shù)22) String s1 = new String(“Hello”); String s2 = new String(“t

29、here”); String s3 = new String(); 上面是Java程序中的一些聲明,選項(xiàng)中能通過編譯的是( a )。(選擇一項(xiàng))a) s3 = s1+ s2b) s3 = s1 & s2c) s3 = s1 | s2d) s3 = s1 && s2【解析】A Java的String對象是一個(gè)不可變的對象,每次修改或者構(gòu)造字符串都會(huì)有一個(gè)新的String對象被創(chuàng)建。本題中只能對字符串對象進(jìn)行+操作。讀者可以從下面來認(rèn)識(shí)String。問題一:我聲明了什么! String s = "Hello world!" 許多人都做過這樣的事情,但是,

30、我們到底聲明了什么?回答通常是:一個(gè)String,內(nèi)容是“Hello world!”。這樣模糊的回答通常是概念不清的根源。如果要準(zhǔn)確的回答,一半的人大概會(huì)回答錯(cuò)誤。 這個(gè)語句聲明的是一個(gè)指向?qū)ο蟮囊?,名為“s”,可以指向類型為String的任何對象,目前指向"Hello world!"這個(gè)String類型的對象。這就是真正發(fā)生的事情。我們并沒有聲明一個(gè)String對象,我們只是聲明了一個(gè)只能指向String對象的引用變量。所以,如果在剛才那句語句后面,如果再運(yùn)行一句: String string = s; 我們是聲明了另外一個(gè)只能指向String對象的引用,名為strin

31、g,并沒有第二個(gè)對象產(chǎn)生,string還是指向原來那個(gè)對象,也就是,和s指向同一個(gè)對象。 問題二:"="和equals方法究竟有什么區(qū)別? =操作符專門用來比較變量的值是否相等。比較好理解的一點(diǎn)是: int a=10; int b=10; 則a=b將是true。 但不好理解的地方是: String a=new String("foo"); String b=new String("foo"); 則a=b將返回false。 根據(jù)前一帖說過,對象變量其實(shí)是一個(gè)引用,它們的值是指向?qū)ο笏诘膬?nèi)存地址,而不是對象本身。a和b都使用了new操作

32、符,意味著將在內(nèi)存中產(chǎn)生兩個(gè)內(nèi)容為"foo"的字符串,既然是“兩個(gè)”,它們自然位于不同的內(nèi)存地址。a和b的值其實(shí)是兩個(gè)不同的內(nèi)存地址的值,所以使用"="操作符,結(jié)果會(huì)是false。誠然,a和b所指的對象,它們的內(nèi)容都是"foo",應(yīng)該是“相等”,但是=操作符并不涉及到對象內(nèi)容的比較。 對象內(nèi)容的比較,正是equals方法做的事。所以當(dāng)你是用equals方法判斷對象的內(nèi)容是否相等,請不要想當(dāng)然。因?yàn)榭赡苣阏J(rèn)為相等,而這個(gè)類的作者不這樣認(rèn)為,而類的equals方法的實(shí)現(xiàn)是由他掌握的。如果你需要使用equals方法,或者使用任何基于散列碼的

33、集合(HashSet,HashMap,HashTable),請察看一下java doc以確認(rèn)這個(gè)類的equals邏輯是如何實(shí)現(xiàn)的。 問題三:String到底變了沒有? 沒有。因?yàn)镾tring被設(shè)計(jì)成不可變(immutable)類,所以它的所有對象都是不可變對象。請看下列代碼: String s = "Hello" s = s + " world!" s所指向的對象是否改變了呢?從本系列第一篇的結(jié)論很容易導(dǎo)出這個(gè)結(jié)論。我們來看看發(fā)生了什么事情。在這段代碼中,s原先指向一個(gè)String對象,內(nèi)容是"Hello",然后我們對s進(jìn)行了+操作,

34、那么s所指向的那個(gè)對象是否發(fā)生了改變呢?答案是沒有。這時(shí),s不指向原來那個(gè)對象了,而指向了另一個(gè)String對象,內(nèi)容為"Hello world!",原來那個(gè)對象還存在于內(nèi)存之中,只是s這個(gè)引用變量不再指向它了。 通過上面的說明,我們很容易導(dǎo)出另一個(gè)結(jié)論,如果經(jīng)常對字符串進(jìn)行各種各樣的修改,或者說,不可預(yù)見的修改,那么使用String來代表字符串的話會(huì)引起很大的內(nèi)存開銷。因?yàn)镾tring對象建立之后不能再改變,所以對于每一個(gè)不同的字符串,都需要一個(gè)String對象來表示。這時(shí),應(yīng)該考慮使用StringBuffer類,它允許修改,而不是每個(gè)不同的字符串都要生成一個(gè)新的對象。并

35、且,這兩種類的對象轉(zhuǎn)換十分容易。23) 在Java語言中,按“東,西,南,北,中”指定組件的位置的布局管理器是( c )。(選擇一項(xiàng))a) FlowLayoutb) GridLayoutc) BorderLayoutd) CardLayoute) GridBagLayout【解析】C Java中的布局方式:BorderLayout 邊界布局方式 :使用“東”、“西”、“南“、“北”、“居中”來指定組件的位置 FlowLayout 流式(順序)布局:按照從左到右由上到下的方式排列組件。 GridLayout 網(wǎng)格布局。把組件按照網(wǎng)格來放置。CardLayout 卡片布局。 對象是容器的布局管理器

36、。它將容器中的每個(gè)組件當(dāng)作一個(gè)卡片來處理。在某 一時(shí)間,只有一個(gè)卡片是可見的,容器象一個(gè)卡片堆棧一樣工作。 . CardLayout 定義了 一系列方法,來允許一個(gè)應(yīng)用順序地翻動(dòng)這些卡片,或顯示一個(gè)指定的卡片。是最靈活的布局方案。24) 在Java中允許創(chuàng)建多線程應(yīng)用程序的接口是( b )。(選擇一項(xiàng))a) Threadableb) Runnablec) Clonabled) 以上均不是【解析】A25) 在Java語言中,把組件放在BorderLayout的( b )區(qū)域時(shí),它會(huì)自動(dòng)垂直調(diào)整大小,但不是水平調(diào)整。(選擇一項(xiàng))a) North或Southb) East或Westc) Center

37、d) North,South或Center【解析】A 在BorderLayout布局方式時(shí),當(dāng)把組件放在North或South區(qū)域時(shí),會(huì)自動(dòng)水平調(diào)整組件的大小。相反當(dāng)在East或West方位時(shí),會(huì)自動(dòng)垂直調(diào)整組件的大小。當(dāng)在Center方位時(shí),垂直和水平方位都會(huì)自動(dòng)調(diào)整。26) 在JAVA編程中,以下( c )命令能夠?qū)ava源文件轉(zhuǎn)換為類文件。(選擇一項(xiàng))a) appletviewerb) javac) javacd) 以上所有選項(xiàng)都不正確【解析】C Javac是用來編譯java的源文件的命令。產(chǎn)生類文件,也就是字節(jié)文件。 Java執(zhí)行經(jīng)過編譯后產(chǎn)生的類文件。Appletviewer是用來

38、查看java Applet程序的工具。 27) 在JAVA編程中,Java具有下列( abc )特點(diǎn)。(選擇三項(xiàng))a) 面向?qū)ο骲) 跨平臺(tái)c) 安全d) 集中式體系結(jié)構(gòu)e) 可編譯成機(jī)器代碼【解析】 A B CJAVA語言是完全面向?qū)ο蟮?、能夠跨平臺(tái)、高安全性的分布式體系結(jié)構(gòu)??梢员惶摂M機(jī)編譯為字節(jié)碼。28) 在Java中,欲定義某類所在的包外的所有類都能訪問這個(gè)類,則應(yīng)用的關(guān)鍵字是()。(選擇一項(xiàng))a) protectedb) privatec) public【解析】C Public 訪問修飾符,該類所在包內(nèi)和包外的類都可以訪問。最開放。Protected訪問修飾符,只有該類所在包內(nèi)或它的

39、派生類才能訪問。Private訪問修飾符 ,只有該類所在包內(nèi)的類才能訪問。29) 在Java中,根據(jù)你的理解,下列方法()可能是類Orange的構(gòu)造函數(shù)。(選擇三項(xiàng))a) Orange()b) Orange()c) Public void Orange()d) Public Orange()e) Public OrangeConstuctor()【解析】A B D構(gòu)造方法要注意的幾個(gè)地方: 名字與類名一樣。可以帶參數(shù)重載。 不能帶返回類型,包括void。 30) 在Java中,下列選項(xiàng)表示字符”a”值的是()。(選擇一項(xiàng))a) ab) “a”c) new Character(a)d) 000a

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

41、;d) f.enable();【解析】C框架Frame是一個(gè)頂層容器。在創(chuàng)建后,要在屏幕上顯示只需將其設(shè)為可見。故選C。調(diào)用setVisible方法。 A項(xiàng)錯(cuò)誤,沒有該方法 B項(xiàng)設(shè)置該窗體的前景色。 D項(xiàng)使該窗體為可用。33) JAVA中,對于drawImage(image,x,y,width,height,this)方法解釋正確的是()。(選擇兩項(xiàng))a) image是要繪制的圖像b) x,y是表示圖像的中心的位置c) width是源圖像的寬度d) this是容器【解析】 A D 在指定位置并且按指定大小繪制指定的 Image。x,y是表示要畫圖像的位置坐標(biāo)。34) JAVA中,欲返回按鈕的標(biāo)

42、簽,其方法是()。(選擇一項(xiàng))a) getActionCommand()b) setLabel(string str)c) button()d) getLabel()【解析】A欲返回按鈕的標(biāo)簽使用getActionCommand()方法。35) 在JAVA中,假設(shè)我們有一個(gè)實(shí)現(xiàn)ActionListener接口的類,以下方法,()能夠?yàn)橐粋€(gè)Button類注冊這個(gè)類。(選擇一項(xiàng))a) addListener()b) addActionListener()c) addButtonListener()d) setListener()【解析】B Swing的事件模型中,組件可以發(fā)起(或"射出&

43、quot;)事件譯注1。各種事件都是類。當(dāng)有事件發(fā)生時(shí),一個(gè)或多個(gè)"監(jiān)聽器(listener)"會(huì)得到通知,并做出反應(yīng)。這樣事件的來 源就同它的處理程序分隔開來了。一般說來,程序員是不會(huì)去修改Swing組件的,他們寫的都是些事件處理程序,當(dāng)組件收到事件譯注1時(shí),會(huì)自動(dòng)調(diào)用這些代碼,因此Swing的事件模型可稱得上是將接口與實(shí)現(xiàn)分隔開來的絕好范例了。事件監(jiān)聽器(event listener)就是一個(gè)實(shí)現(xiàn)listener接口的對象。所以,程序員要做的就是創(chuàng)建一個(gè)listener對象,然后向發(fā)起事件的組件注冊這個(gè)對象。注冊的過程就是調(diào)用組件的addXXXListener( )方法

44、,這里"XXX"表示組件所發(fā)起的事件的類型。只要看一眼"addListener"方法的名字就能知道組件能處理哪種事件了,所以如果你讓它聽錯(cuò)了事件,那么編譯就根本通不過。到后面你就會(huì)看到,JavaBean在決定它能處理哪些事件時(shí),也遵循"addListener"的命名規(guī)范。36) 在JAVA語言中,包pack1的類class1 中有成員方法:protected void method_1(),private void method_2(),public void method_3().和void method_4(),在包pack2中的

45、類class2 不是class1的子類,你在class2 中可以調(diào)用的方法有()。(選擇一項(xiàng))a) method_1b) method_2c) method_3d) method_4【解析】C本題可以通過畫出包中類的結(jié)構(gòu)來分析:pack1: class1 : 受保護(hù)的method_1 method_4 私有的method_2 公共的method_3();pack2: class2:由于class2和class1 之間沒有繼承關(guān)系;故 class2只能調(diào)用class1種的public修飾的方法: method_3().37) JAVA中,使用()修飾符時(shí),一個(gè)類能被同一包或不同包中的其他類訪問。

46、(選擇一項(xiàng))a) privateb) protectedc) publicd) friendly【解析】C Public 訪問修飾符,該類所在包內(nèi)和包外的類都可以訪問。最開放。Protected訪問修飾符,只有該類所在包內(nèi)或它的派生類才能訪問。Private訪問修飾符 ,只有該類所在包內(nèi)的類才能訪問。 Java中無friendly修飾符。38) 在JAVA中,類Worker是類Person的子類,Worker的構(gòu)造方法中有一句“super()“,該語句()。(選擇一項(xiàng))a) 調(diào)用類Worker中定義的super()方法b) 調(diào)用類Person中定義的super()方法c) 調(diào)用類Person的

47、構(gòu)造函數(shù)d) 語法錯(cuò)誤【解析】C 有些時(shí)候經(jīng)常需要在子類中調(diào)用父類的構(gòu)造方法,此時(shí)需用super方法來調(diào)用。39) 在JAVA語言中,下列語言()可以畫出一矩形框架,其距左邊界為0像素,距上邊界為10像素,寬為30像素,高為40像素。(選擇一項(xiàng))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 Graphics();g.drawRect(30,40,10,0)d) Graphics g =new Gr

48、phics();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 。該矩形是使用圖形上下文的當(dāng)前顏色繪制的。 參數(shù): x - 將被繪制的矩形的 x 坐標(biāo)。 y - 將被繪制的矩形的 y 坐標(biāo)。 width - 將被繪制的矩形的寬度。 height - 將被繪

49、制的矩形的高度 故本題選 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=new Dog();animal.printA();則這段代碼輸出為()。(選擇一項(xiàng))a) 0 b) 3

50、.3333c) 2d) 3【解析】B 本題關(guān)鍵要理解如何使父類的對象調(diào)用子類的方法。因?yàn)橥ǔ6际亲宇愓{(diào)用父類的方法。Animal animal=new Dog(); 此處雖然聲明的是父類Animal類型的對象,但在初始化時(shí)調(diào)用的是子類的構(gòu)造方法。正是因?yàn)榇?,使得animal對象指向Dog類的引用。該對象animal在調(diào)用printA()方法時(shí)不是調(diào)用父類的方法,而是調(diào)用在子類中重寫的printA()方法。故本題執(zhí)行10/3=3.3333.41) 在JAVA中,下列()代碼段允許按鈕注冊一個(gè)action事件。(選擇一項(xiàng))a) button.enableActioinEvents();b) but

51、ton.addActionListener(anActionListener);c) button.enableEvents(true);d) button.enableEvents(AWTEvent.ACTION_EVENT_MASK);【解析】BSwing的事件模型中,組件可以發(fā)起(或"射出")事件譯注1。各種事件都是類。當(dāng)有事件發(fā)生時(shí),一個(gè)或多個(gè)"監(jiān)聽器(listener)"會(huì)得到通知,并做出反應(yīng)。這樣事件的來 源就同它的處理程序分隔開來了。一般說來,程序員是不會(huì)去修改Swing組件的,他們寫的都是些事件處理程序,當(dāng)組件收到事件譯注1時(shí),會(huì)自動(dòng)調(diào)用

52、這些代碼,因此Swing的事件模型可稱得上是將接口與實(shí)現(xiàn)分隔開來的絕好范例了。事件監(jiān)聽器(event listener)就是一個(gè)實(shí)現(xiàn)listener接口的對象。所以,程序員要做的就是創(chuàng)建一個(gè)listener對象,然后向發(fā)起事件的組件注冊這個(gè)對象。注冊的過程就是調(diào)用組件的addXXXListener( )方法,這里"XXX"表示組件所發(fā)起的事件的類型。只要看一眼"addListener"方法的名字就能知道組件能處理哪種事件了,所以如果你讓它聽錯(cuò)了事件,那么編譯就根本通不過。到后面你就會(huì)看到,JavaBean在決定它能處理哪些事件時(shí),也遵循"add

53、Listener"的命名規(guī)范。42) 在JAVA編程中,實(shí)現(xiàn)Runnable接口時(shí)必須實(shí)現(xiàn)的方法是()。(選擇一項(xiàng))a) wait()b) run()c) stop()d) start()【解析】B這是在JBuild中的工程中的main方法。程序從此處開始運(yùn)行,需要運(yùn)行進(jìn)程。此處調(diào)用了Runnable接口的run方法,并對該方法進(jìn)行了重寫。public static void main(String args) SwingUtilities.invokeLater(new Runnable() public void run() try UIManager.setLookAndFee

54、l(UIManager. getSystemLookAndFeelClassName(); catch (Exception exception) exception.printStackTrace(); Runnable接口有一個(gè)最重要的方法run,在進(jìn)程要運(yùn)行時(shí),必須實(shí)現(xiàn)該方法。43) 在JAVA語言中,下面關(guān)于類的描述正確的是()。(選擇一項(xiàng))a) 一個(gè)子類可以有多個(gè)超類b) 一個(gè)超類可以有多個(gè)子類c) 子類可以使用超類的所有d) 子類一定比超類有更多的成員方法【解析】B Java語言中只能實(shí)現(xiàn)單重繼承,也就是一個(gè)子類只能有一個(gè)父類。如果要實(shí)現(xiàn)多重繼承,只能使用接口來實(shí)現(xiàn)。因?yàn)橐粋€(gè)子類可

55、以實(shí)現(xiàn)多重接口。 一個(gè)超類可以派生出多個(gè)子類。 子類的方法不一定就比父類多。 44) Java Applet的三種狀態(tài):1.Init(),2.Start(),3.Paint(),在Applet載入時(shí)的順序是()。(選擇一項(xiàng))a) 1,2,3b) 2,1,3c) 2,3,1d) 1,3,2【解析】A45) JAVA是一種完全面向()的語言。(選擇一項(xiàng))a) 過程b) 對象c) 組件d) 服務(wù)【解析】BJAVA語言是完全面向?qū)ο蟮?、能夠跨平臺(tái)、高安全性的分布式體系結(jié)構(gòu)??梢员惶摂M機(jī)編譯為字節(jié)碼。46) JAVA中,實(shí)現(xiàn)繼承的關(guān)鍵字是()。(選擇一項(xiàng))a) publicb) classc) extendsd) implements【解析】C A extends B 表示A繼承于B。extends關(guān)鍵字表示擴(kuò)展自。用來實(shí)現(xiàn)java中的繼承關(guān)系。 47) JAVA程序中,()不能用來表示注釋。(選擇一項(xiàng))a) /注釋b) /*注釋*/c) /*注釋*/d) /注釋/【解析】D Java中的三種注釋: 對單行代碼注釋 /

溫馨提示

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

最新文檔

評論

0/150

提交評論