版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上 JAVA面向?qū)ο蟪绦蛟O(shè)計(jì)復(fù)習(xí)試題+解析1) 在JAVA編程中,關(guān)于Font下列( bc )是正確的。(選擇兩項(xiàng))a) 在我們的程序中可以使用Font類中定義的字體常量。b) 我們可以使用Tookit類中的函數(shù)來(lái)獲取我們的機(jī)器中java所支持的字體的列表c) 我們可以自己創(chuàng)建字體實(shí)例對(duì)象d) 以上說(shuō)明都正確【解析】參考答案:A BFont屬于java.awt包中的一個(gè)類,專門用來(lái)設(shè)置程序中的字體實(shí)例對(duì)象。創(chuàng)建Font類的對(duì)象時(shí)使用的方法:getFont(int face,int style,int size); 例如:Font font = Font.getFont(
2、Font.FACE_SYSTEM,Font.STYLE_BOLD,Font. SIZE_MEDIUM); 無(wú)論哪一個(gè)參數(shù),都只能使用系統(tǒng)設(shè)置的數(shù)值,這些數(shù)值具體的大小在不同的手機(jī)上可能不同。下面對(duì)于其中的三個(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)上。該類
3、有個(gè)方法() 用于返回該工具箱中可用字體名。 也就是可以獲取機(jī)器中java所支持的字體的列表。 2) 在Java語(yǔ)言中,在包Package1中包含包Package2,類Class_A直接隸屬于包Package1,類Class_B直接隸屬于包Package2。在類Class_C要應(yīng)用Class_A的方法A和Class_B的方法B,你需要( ab )語(yǔ)句。(選擇兩項(xiàng))a) import Package1.*;b) import Package1.Package2.*;c) import Package2.*d) import Package2.Package1.*;【解析】A B Java語(yǔ)言中的
4、包機(jī)制就像Windows中的文件夾,用來(lái)歸類 類文件的位置。要使用包中的類,有如下二種方法: l 直接導(dǎo)入該包中要用到的類。例如要用到Color類,可以 import java.awt.Colorl 干脆將包中所有的類直接導(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.*
5、/可以導(dǎo)入Class_Aimport Package1.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) B
6、utton(“ok”)創(chuàng)建一個(gè)有顯示“ok”的按鈕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í)例對(duì)象名,Button()是構(gòu)造方法,初始化該按鈕,此處帶有參數(shù)ok,表示該按鈕所顯示的文本為OK。等價(jià)于setText方法的作用。此代碼中的add方法是將按鈕添加到容器。但此時(shí)該按鈕并沒(méi)有顯示出來(lái),因?yàn)檫€沒(méi)有實(shí)現(xiàn)畫按鈕?!窘馕觥?) 在JAVA編程中,關(guān)于Graphi
7、cs,下面( d )是正確的。(選擇一項(xiàng))a) 在這個(gè)類中定義了一些基本的繪圖方法b) 這個(gè)類還存在一些不足,因此出現(xiàn)了Graphics2D類,彌補(bǔ)了這個(gè)類的某些不足c) 這個(gè)類是一個(gè)抽象類,我們不能創(chuàng)建這個(gè)類的實(shí)例d) 以上說(shuō)法都正確【解析】D 類 java.awt.Graphics,定義:public abstract class Graphics extends Graphics 類是所有圖形上下文的抽象基類,該類包含了一些基本的繪圖方法。這個(gè)上下文允許應(yīng)用將圖形繪制到由不同設(shè)備實(shí)現(xiàn)的組件上,以及繪制到空閑屏幕的映像中。由于 Graphics 是一個(gè)抽象類,應(yīng)用不能直接調(diào)用該構(gòu)造函數(shù)。圖
8、形上下文是從其他圖形上下文獲得的或是通過(guò)在一個(gè)組件上調(diào)用 getGraphics 創(chuàng)建的。 例如使用如下這二個(gè)方法:, 針對(duì)該類的一些缺點(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)聽(tīng)器方法。(選擇一項(xiàng))a) 1b) 2c) 3d) 4【解析】B鼠標(biāo)事件在單擊按鈕時(shí)實(shí)際包含了二個(gè)事件: 鼠標(biāo)壓下 和 鼠標(biāo) 彈起在Java的事
9、件機(jī)制中,每個(gè)事件都必須有一個(gè)事件監(jiān)聽(tīng)者。故選B6) JAVA中,為了辨別用戶關(guān)閉窗口的時(shí)間,要實(shí)現(xiàn)監(jiān)聽(tīng)器接口( c )。(選擇一項(xiàng))a) MouseListenerb) ActionLisenerc) WindowListenerd) 以上都要【解析】D在Java程序中這一般是通過(guò) 實(shí)現(xiàn)適當(dāng)?shù)氖录O(jiān)聽(tīng)者接口來(lái)完成的。比如如果需要響應(yīng)按鈕事件,就需要實(shí)現(xiàn)ActionListener 監(jiān)聽(tīng)者接口;如果需要響應(yīng)窗口事件,就需要實(shí)現(xiàn)WindowListener監(jiān)聽(tīng)者接口。此處當(dāng)用鼠標(biāo)點(diǎn)擊關(guān)閉時(shí),會(huì)產(chǎn)生一個(gè)MouseEvent,此類需要實(shí)現(xiàn)MouseListener接口。故本題選D7) 在Java語(yǔ)言
10、中,如果你有下面的類定義:abstract 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類沒(méi)有實(shí)現(xiàn)父類Shape的方法draw,從而導(dǎo)致這二個(gè)類都不能編譯。8) 對(duì)于布局管理器解釋正確的有( ab )。(選擇兩項(xiàng))a) FlowLayout 以由上到下的方式從左到右排列組件b) BorderLayo
11、ut使用“東”、“西”、“南“、“北”、“居中”來(lái)指定組件的位置c) GridLayout提供了類似于選項(xiàng)卡式的對(duì)話框的功能d) CardLayout是最靈活的布局方案【解析】 B DJava中的布局方式:BorderLayout 邊界布局方式 :使用“東”、“西”、“南“、“北”、“居中”來(lái)指定組件的位置 FlowLayout 流式(順序)布局:按照從左到右由上到下的方式排列組件。 GridLayout 網(wǎng)格布局。把組件按照網(wǎng)格來(lái)放置。CardLayout 卡片布局。 對(duì)象是容器的布局管理器。它將容器中的每個(gè)組件當(dāng)作一個(gè)卡片來(lái)處理。在某 一時(shí)間,只有一個(gè)卡片是可見(jiàn)的,容器象一個(gè)卡片堆棧一樣工
12、作。 . CardLayout 定義了 一系列方法,來(lái)允許一個(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í)異常【解析】D 數(shù)組my_Array包含5個(gè)元素,元素的索引從0到4;而在for循環(huán)
13、體中出現(xiàn)了當(dāng)count=5時(shí),會(huì)超出索引邊界;故my_Array5會(huì)產(chǎn)生異常。10) 下面描述( bc )是正確的。(選擇兩項(xiàng))a) Java的源程序必須以”.java”或”.jav”擴(kuò)展名保存b) Java VM可以是軟件也可以是硬件c) Java使用解釋器執(zhí)行代碼d) 用高級(jí)語(yǔ)言編寫的代碼可以讓計(jì)算機(jī)理解并執(zhí)行它們【解析】B CJava的源程序必須以”.java”結(jié)尾。 高級(jí)語(yǔ)言編寫的程序必須經(jīng)過(guò)編譯或解釋為低級(jí)語(yǔ)言;也即要翻譯為計(jì)算機(jī)可以理解的機(jī)器語(yǔ)言。 Java VM(虛擬機(jī))可以是軟件也可以是硬件。Java使用解釋器執(zhí)行代碼。11) 在JAVA編程中,基于線程的多任務(wù)處理環(huán)境中,執(zhí)行
14、特定任務(wù)的可執(zhí)行代碼的最小單位是( b )。(選擇一項(xiàng))a) 進(jìn)程b) 線程c) 應(yīng)用程序d) 服務(wù)【解析】B進(jìn)程是由一個(gè)或多個(gè)線程組成,進(jìn)程中可執(zhí)行代碼的最小單位就是線程。12) 下列選項(xiàng)中,屬于Java語(yǔ)言的關(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
16、 are key words in java ? a) default b)NULL c)String d)throws e)long f)true答案: 1,acde 2,ad 3,adef 作對(duì)了嗎_解釋來(lái)了: 1,then和sizeof都不是java的關(guān)鍵字,熟悉c或者c,寫慣了asp的高手就要小心嘍。2,所有的關(guān)鍵
17、字都是小寫的,所以Switch不是關(guān)鍵字。instanceof看上去像方法名,但其實(shí)是關(guān)鍵字;3,大寫的NULL不是java語(yǔ)言的關(guān)鍵字。String是java語(yǔ)言的一個(gè)封裝類的類名,也不是關(guān)鍵字。再來(lái)點(diǎn)系統(tǒng)的:正確識(shí)別java語(yǔ)言的關(guān)鍵字(keyword)和保留字(reserved word)是十分重要的。Java的關(guān)鍵字對(duì)java的編譯器有特殊的意義,他們用來(lái)表示一種數(shù)據(jù)類型,或者表示程序的結(jié)構(gòu)等。保留字是為java預(yù)留的關(guān)鍵字,他們雖然現(xiàn)在沒(méi)有作為關(guān)鍵字,但在以后的升級(jí)版本中有可能作為關(guān)鍵字。關(guān)鍵字列表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注意點(diǎn):識(shí)別java語(yǔ)言的關(guān)鍵字,不要和其他語(yǔ)言如c/c+的關(guān)鍵字混淆。 const和goto是java的保留字。所有的關(guān)鍵字都是小寫friendly,sizeof不是java的關(guān)鍵字13) 在JAVA語(yǔ)言中,Panel默
20、認(rèn)的布局管理器是( b )。(選擇一項(xiàng))a) Borderlayoutb) FlowLayoutc) GridLayoutd) GridBagLayout【解析】A常見(jiàn)的幾種布局:BorderLayout 邊界布局方式 :使用“東”、“西”、“南“、“北”、“居中”來(lái)指定組件的位置.為默認(rèn)的布局管理器。 FlowLayout 流式(順序)布局:按照從左到右由上到下的方式排列組件。 GridLayout 網(wǎng)格布局。把組件按照網(wǎng)格來(lái)放置。14) 在JAVA語(yǔ)言中,使我們能夠使用和更改字體來(lái)顯示或鍵入文本的類是( a )。(選擇一項(xiàng))a) Java.awt .Fontb) Java.awt.Grap
21、hics.Fontc) Java.Graphics.Fontd) Java.Font【解析】AFont類位于java.awt包中。15) 在Java中,關(guān)鍵字( a )使類不能派生出子類。(選擇一項(xiàng))a) finalb) publicc) privated) volatilee) native【解析】A在類的前面加了final關(guān)鍵字,說(shuō)明該類是一個(gè)最終的類,當(dāng)然也就不能被別人繼承,也就不能派生出子類了。16) 在JAVA編程中,Swing包中的組件處理事件時(shí),下面( a )是正確的。(選擇一項(xiàng))a) Swing包中的組件也是采用事件的授權(quán)處理模型來(lái)處理事件的b) Swing包中的組件產(chǎn)生的事件
22、類型,也都帶有一個(gè)J字母,如:JMouseEventc) Swing包中的組件也可以采用事件的傳遞處理機(jī)制d) Swing包中的組件所對(duì)應(yīng)的事件適配器也是帶有J字母的,如:JMouseAdapter【解析】ASwing是由100%純Java實(shí)現(xiàn)的,Swing組件是用Java實(shí)現(xiàn)的輕量級(jí)( light-weight)組件,沒(méi)有本地代碼,不依賴的支持,這是它與AWT組件的最大區(qū)別。由于AWT組件通過(guò)與具體平臺(tái)相關(guān)的對(duì)等類(Peer)實(shí)現(xiàn),因此Swing比AWT組件具有更強(qiáng)的實(shí)用性。Swing在不同的平臺(tái)上表現(xiàn)一致,并且有能力提供本地窗口系統(tǒng)不支持的其它特性。Swing包中的組件也是采用事件的授權(quán)處
23、理模型來(lái)處理事件的。它的事件類型和事件適配器類依然是按照awt包中的方式來(lái)定義的,并沒(méi)有附帶一個(gè)J字母。17) 在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 )命令用來(lái)執(zhí)行java類文件。(選擇一項(xiàng))a) javacb) javac) appletviewerd) 以上所有選項(xiàng)都不正確【解析】B Javac是用來(lái)編譯java的源文件的命令。 Java執(zhí)行經(jīng)過(guò)編譯后產(chǎn)生的類文件。Appletviewer是用
24、來(lái)查看java Applet程序的工具。19) 在Java中,下列代碼段允許按鈕注冊(cè)一個(gè)action事件的是( b )。(選擇一項(xiàng))a) button.enableActionEvents();b) button.addActionListener(anActionListener);c) button.enableEvents(true);d) button.enableEvents(AWTEvent.ACTION_EVENT_MASK);【解析】B向組件注冊(cè)事件監(jiān)聽(tīng)器的方法是addXXXListener。其中XXX代表事件。事件監(jiān)聽(tīng)器(event listener)就是一個(gè)實(shí)現(xiàn)listen
25、er接口的對(duì)象。所以,程序員要做的就是創(chuàng)建一個(gè)listener對(duì)象,然后向發(fā)起事件的組件注冊(cè)這個(gè)對(duì)象。注冊(cè)的過(guò)程就是調(diào)用組件的addXXXListener( )方法,這里"XXX"表示組件所發(fā)起的事件的類型。只要看一眼"addListener"方法的名字就能知道組件能處理哪種事件了,所以如果你讓它聽(tīng)錯(cuò)了事件,那么編譯就根本通不過(guò)。到后面你就會(huì)看到,JavaBean在決定它能處理哪些事件時(shí),也遵循"addListener"的命名規(guī)范。20) 在Java語(yǔ)言中,下面變量命名合法的有( ad )。(選擇兩項(xiàng))a) variable123b)
26、 123variablec) privated) selg_asd【解析】A D命名規(guī)范:定義這個(gè)規(guī)范的目的是讓項(xiàng)目中所有的文檔都看起來(lái)像一個(gè)人寫的,增加可讀性,減少項(xiàng)目組中因?yàn)閾Q人而帶來(lái)的損失。(這些規(guī)范并不是一定要絕對(duì)遵守,但是一定要讓程序有良好的可讀性) 普通變量 的命名 以字母或下劃線開(kāi)頭,由字母、數(shù)字、下劃線等組成。但不能是java的關(guān)鍵字。 Package 的命名 Package 的名字應(yīng)該都是由一個(gè)小寫單詞組成。 Class 的命名 Class 的名字必須由大寫字母開(kāi)頭而其他字母都小寫的單詞組成 Class 變量的命名 變量的名字必須用一個(gè)小寫字母開(kāi)頭。后面的單詞用大寫字母開(kāi)頭。
27、 Static Final 變量的命名 Static Final 變量的名字應(yīng)該都大寫,并且指出完整含義。 參數(shù)的命名 參數(shù)的名字必須和變量的命名規(guī)范一致。 數(shù)組的命名 數(shù)組應(yīng)該總是用下面的方式來(lái)命名: byte buffer;而不是: byte buffer; 方法的參數(shù) 使用有意義的參數(shù)命名,如果可能的話,使用和要賦值的字段一樣的名字: SetCounter(int size) this.size = size;21) 在JAVA編程中,關(guān)于TextField的語(yǔ)句如下:JTextField t = new JTextField(“they are good”,40);下面( ad )是正
28、確的。(選擇兩項(xiàng))a) 在這個(gè)JTextField中,最多只能輸入40個(gè)字符b) 在這個(gè)JTextField中,最少可以輸入40個(gè)字符c) 在這個(gè)JTextField中,能夠輸入的字符不一定是40個(gè)d) 在這個(gè)JTextField中,用戶可以編輯所輸入的字符【解析】C D JTextField構(gòu)造方法的第二個(gè)參數(shù)表示文本框的列數(shù)。但并不限制它能輸入的字符數(shù)。public JTextField( text, int columns)創(chuàng)建一個(gè)新的文本域,并用待顯示的指定文本初始化,且它的寬度足以顯示指定的字符數(shù)。 參數(shù): text - 顯示的文本。 columns - 字符數(shù)22) String
29、s1 = new String(“Hello”); String s2 = new String(“there”); String s3 = new String(); 上面是Java程序中的一些聲明,選項(xiàng)中能通過(guò)編譯的是( a )。(選擇一項(xiàng))a) s3 = s1+ s2b) s3 = s1 & s2c) s3 = s1 | s2d) s3 = s1 && s2【解析】A Java的String對(duì)象是一個(gè)不可變的對(duì)象,每次修改或者構(gòu)造字符串都會(huì)有一個(gè)新的String對(duì)象被創(chuàng)建。本題中只能對(duì)字符串對(duì)象進(jìn)行+操作。讀者可以從下面來(lái)認(rèn)識(shí)String。問(wèn)題一:我聲明了什么!
30、String s = "Hello world!" 許多人都做過(guò)這樣的事情,但是,我們到底聲明了什么?回答通常是:一個(gè)String,內(nèi)容是“Hello world!”。這樣模糊的回答通常是概念不清的根源。如果要準(zhǔn)確的回答,一半的人大概會(huì)回答錯(cuò)誤。 這個(gè)語(yǔ)句聲明的是一個(gè)指向?qū)ο蟮囊?,名為“s”,可以指向類型為String的任何對(duì)象,目前指向"Hello world!"這個(gè)String類型的對(duì)象。這就是真正發(fā)生的事情。我們并沒(méi)有聲明一個(gè)String對(duì)象,我們只是聲明了一個(gè)只能指向String對(duì)象的引用變量。所以,如果在剛才那句語(yǔ)句后面,如果再運(yùn)行一句: S
31、tring string = s; 我們是聲明了另外一個(gè)只能指向String對(duì)象的引用,名為string,并沒(méi)有第二個(gè)對(duì)象產(chǎn)生,string還是指向原來(lái)那個(gè)對(duì)象,也就是,和s指向同一個(gè)對(duì)象。 問(wèn)題二:"="和equals方法究竟有什么區(qū)別? =操作符專門用來(lái)比較變量的值是否相等。比較好理解的一點(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ù)前一帖說(shuō)
32、過(guò),對(duì)象變量其實(shí)是一個(gè)引用,它們的值是指向?qū)ο笏诘膬?nèi)存地址,而不是對(duì)象本身。a和b都使用了new操作符,意味著將在內(nèi)存中產(chǎn)生兩個(gè)內(nèi)容為"foo"的字符串,既然是“兩個(gè)”,它們自然位于不同的內(nèi)存地址。a和b的值其實(shí)是兩個(gè)不同的內(nèi)存地址的值,所以使用"="操作符,結(jié)果會(huì)是false。誠(chéng)然,a和b所指的對(duì)象,它們的內(nèi)容都是"foo",應(yīng)該是“相等”,但是=操作符并不涉及到對(duì)象內(nèi)容的比較。 對(duì)象內(nèi)容的比較,正是equals方法做的事。所以當(dāng)你是用equals方法判斷對(duì)象的內(nèi)容是否相等,請(qǐng)不要想當(dāng)然。因?yàn)榭赡苣阏J(rèn)為相等,而這個(gè)類的作者不這樣認(rèn)
33、為,而類的equals方法的實(shí)現(xiàn)是由他掌握的。如果你需要使用equals方法,或者使用任何基于散列碼的集合(HashSet,HashMap,HashTable),請(qǐng)察看一下java doc以確認(rèn)這個(gè)類的equals邏輯是如何實(shí)現(xiàn)的。 問(wèn)題三:String到底變了沒(méi)有? 沒(méi)有。因?yàn)镾tring被設(shè)計(jì)成不可變(immutable)類,所以它的所有對(duì)象都是不可變對(duì)象。請(qǐng)看下列代碼: String s = "Hello" s = s + " world!" s所指向的對(duì)象是否改變了呢?從本系列第一篇的結(jié)論很容易導(dǎo)出這個(gè)結(jié)論。我們來(lái)看看發(fā)生了什么事情。在這段代碼中
34、,s原先指向一個(gè)String對(duì)象,內(nèi)容是"Hello",然后我們對(duì)s進(jìn)行了+操作,那么s所指向的那個(gè)對(duì)象是否發(fā)生了改變呢?答案是沒(méi)有。這時(shí),s不指向原來(lái)那個(gè)對(duì)象了,而指向了另一個(gè)String對(duì)象,內(nèi)容為"Hello world!",原來(lái)那個(gè)對(duì)象還存在于內(nèi)存之中,只是s這個(gè)引用變量不再指向它了。 通過(guò)上面的說(shuō)明,我們很容易導(dǎo)出另一個(gè)結(jié)論,如果經(jīng)常對(duì)字符串進(jìn)行各種各樣的修改,或者說(shuō),不可預(yù)見(jiàn)的修改,那么使用String來(lái)代表字符串的話會(huì)引起很大的內(nèi)存開(kāi)銷。因?yàn)镾tring對(duì)象建立之后不能再改變,所以對(duì)于每一個(gè)不同的字符串,都需要一個(gè)String對(duì)象來(lái)表示。這
35、時(shí),應(yīng)該考慮使用StringBuffer類,它允許修改,而不是每個(gè)不同的字符串都要生成一個(gè)新的對(duì)象。并且,這兩種類的對(duì)象轉(zhuǎn)換十分容易。23) 在Java語(yǔ)言中,按“東,西,南,北,中”指定組件的位置的布局管理器是( c )。(選擇一項(xiàng))a) FlowLayoutb) GridLayoutc) BorderLayoutd) CardLayoute) GridBagLayout【解析】C Java中的布局方式:BorderLayout 邊界布局方式 :使用“東”、“西”、“南“、“北”、“居中”來(lái)指定組件的位置 FlowLayout 流式(順序)布局:按照從左到右由上到下的方式排列組件。 Grid
36、Layout 網(wǎng)格布局。把組件按照網(wǎng)格來(lái)放置。CardLayout 卡片布局。 對(duì)象是容器的布局管理器。它將容器中的每個(gè)組件當(dāng)作一個(gè)卡片來(lái)處理。在某 一時(shí)間,只有一個(gè)卡片是可見(jiàn)的,容器象一個(gè)卡片堆棧一樣工作。 . CardLayout 定義了 一系列方法,來(lái)允許一個(gè)應(yīng)用順序地翻動(dòng)這些卡片,或顯示一個(gè)指定的卡片。是最靈活的布局方案。24) 在Java中允許創(chuàng)建多線程應(yīng)用程序的接口是( b )。(選擇一項(xiàng))a) Threadableb) Runnablec) Clonabled) 以上均不是【解析】A25) 在Java語(yǔ)言中,把組件放在BorderLayout的( b )區(qū)域時(shí),它會(huì)自動(dòng)垂直調(diào)整大
37、小,但不是水平調(diào)整。(選擇一項(xiàng))a) North或Southb) East或Westc) Centerd) 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是用來(lái)編譯java的源文件的
38、命令。產(chǎn)生類文件,也就是字節(jié)文件。 Java執(zhí)行經(jīng)過(guò)編譯后產(chǎn)生的類文件。Appletviewer是用來(lái)查看java Applet程序的工具。 27) 在JAVA編程中,Java具有下列( abc )特點(diǎn)。(選擇三項(xiàng))a) 面向?qū)ο骲) 跨平臺(tái)c) 安全d) 集中式體系結(jié)構(gòu)e) 可編譯成機(jī)器代碼【解析】 A B CJAVA語(yǔ)言是完全面向?qū)ο蟮?、能夠跨平臺(tái)、高安全性的分布式體系結(jié)構(gòu)??梢员惶摂M機(jī)編譯為字節(jié)碼。28) 在Java中,欲定義某類所在的包外的所有類都能訪問(wèn)這個(gè)類,則應(yīng)用的關(guān)鍵字是()。(選擇一項(xiàng))a) protectedb) privatec) public【解析】C Public 訪問(wèn)
39、修飾符,該類所在包內(nèi)和包外的類都可以訪問(wèn)。最開(kāi)放。Protected訪問(wèn)修飾符,只有該類所在包內(nèi)或它的派生類才能訪問(wèn)。Private訪問(wèn)修飾符 ,只有該類所在包內(nèi)的類才能訪問(wèn)。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)表示字符
40、”a”值的是()。(選擇一項(xiàng))a) ab) “a”c) new Character(a)d) 000a【解析】A字符應(yīng)用單引號(hào)表示 a; new Character(a)表示創(chuàng)建一個(gè)字符對(duì)象a 000a 用ASCII表示應(yīng)為 09731) 在Java中,可以使線程運(yùn)行的方法是()。(選擇一項(xiàng))a) init();b) start();c) resume();d) sleep();【解析】B32) 在JAVA語(yǔ)言中,下面是main()方法的部分代碼:Frame f=new Frame(“My Frame”);f.setSize(100,100);為在屏幕顯示f,應(yīng)增加的代碼是()。(選擇一項(xiàng))a
41、) f.appear();b) f.setForeground();c) f.setVisible();d) f.enable();【解析】C框架Frame是一個(gè)頂層容器。在創(chuàng)建后,要在屏幕上顯示只需將其設(shè)為可見(jiàn)。故選C。調(diào)用setVisible方法。 A項(xiàng)錯(cuò)誤,沒(méi)有該方法 B項(xiàng)設(shè)置該窗體的前景色。 D項(xiàng)使該窗體為可用。33) JAVA中,對(duì)于drawImage(image,x,y,width,height,this)方法解釋正確的是()。(選擇兩項(xiàng))a) image是要繪制的圖像b) x,y是表示圖像的中心的位置c) width是源圖像的寬度d) this是容器【解析】 A D 在指定位置并
42、且按指定大小繪制指定的 Image。x,y是表示要畫圖像的位置坐標(biāo)。34) JAVA中,欲返回按鈕的標(biāo)簽,其方法是()。(選擇一項(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類注冊(cè)這個(gè)類。(選擇一項(xiàng))a) addListener()b) addActionListener()c) addButtonListener()
43、d) setListener()【解析】B Swing的事件模型中,組件可以發(fā)起(或"射出")事件譯注1。各種事件都是類。當(dāng)有事件發(fā)生時(shí),一個(gè)或多個(gè)"監(jiān)聽(tīng)器(listener)"會(huì)得到通知,并做出反應(yīng)。這樣事件的來(lái) 源就同它的處理程序分隔開(kāi)來(lái)了。一般說(shuō)來(lái),程序員是不會(huì)去修改Swing組件的,他們寫的都是些事件處理程序,當(dāng)組件收到事件譯注1時(shí),會(huì)自動(dòng)調(diào)用這些代碼,因此Swing的事件模型可稱得上是將接口與實(shí)現(xiàn)分隔開(kāi)來(lái)的絕好范例了。事件監(jiān)聽(tīng)器(event listener)就是一個(gè)實(shí)現(xiàn)listener接口的對(duì)象。所以,程序員要做的就是創(chuàng)建一個(gè)listener
44、對(duì)象,然后向發(fā)起事件的組件注冊(cè)這個(gè)對(duì)象。注冊(cè)的過(guò)程就是調(diào)用組件的addXXXListener( )方法,這里"XXX"表示組件所發(fā)起的事件的類型。只要看一眼"addListener"方法的名字就能知道組件能處理哪種事件了,所以如果你讓它聽(tīng)錯(cuò)了事件,那么編譯就根本通不過(guò)。到后面你就會(huì)看到,JavaBean在決定它能處理哪些事件時(shí),也遵循"addListener"的命名規(guī)范。36) 在JAVA語(yǔ)言中,包pack1的類class1 中有成員方法:protected void method_1(),private void method_2(
45、),public void method_3().和void method_4(),在包pack2中的類class2 不是class1的子類,你在class2 中可以調(diào)用的方法有()。(選擇一項(xiàng))a) method_1b) method_2c) method_3d) method_4【解析】C本題可以通過(guò)畫出包中類的結(jié)構(gòu)來(lái)分析:pack1: class1 : 受保護(hù)的method_1 method_4 私有的method_2 公共的method_3();pack2: class2:由于class2和class1 之間沒(méi)有繼承關(guān)系;故 class2只能調(diào)用class1種的public修飾的方法:
46、 method_3().37) JAVA中,使用()修飾符時(shí),一個(gè)類能被同一包或不同包中的其他類訪問(wèn)。(選擇一項(xiàng))a) privateb) protectedc) publicd) friendly【解析】C Public 訪問(wèn)修飾符,該類所在包內(nèi)和包外的類都可以訪問(wèn)。最開(kāi)放。Protected訪問(wèn)修飾符,只有該類所在包內(nèi)或它的派生類才能訪問(wèn)。Private訪問(wèn)修飾符 ,只有該類所在包內(nèi)的類才能訪問(wèn)。 Java中無(wú)friendly修飾符。38) 在JAVA中,類Worker是類Person的子類,Worker的構(gòu)造方法中有一句“super()“,該語(yǔ)句()。(選擇一項(xiàng))a) 調(diào)用類Worker
47、中定義的super()方法b) 調(diào)用類Person中定義的super()方法c) 調(diào)用類Person的構(gòu)造函數(shù)d) 語(yǔ)法錯(cuò)誤【解析】C 有些時(shí)候經(jīng)常需要在子類中調(diào)用父類的構(gòu)造方法,此時(shí)需用super方法來(lái)調(diào)用。39) 在JAVA語(yǔ)言中,下列語(yǔ)言()可以畫出一矩形框架,其距左邊界為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 Gra
48、phics();g.drawRect(30,40,10,0)d) Graphics g =new Grphics();g.drawRect(30,40,0,10);【解析】BGraphics類的方法drawRect的語(yǔ)法如下:public void drawRect(int x, int y, int width, int height)繪制指定矩形的輪廓。矩形的左邊和右邊分別為 x 和 x + width 。頂部邊沿和底部邊沿分別為 y 和 y + height 。該矩形是使用圖形上下文的當(dāng)前顏色繪制的。 參數(shù): x - 將被繪制的矩形的 x 坐標(biāo)。
49、y - 將被繪制的矩形的 y 坐標(biāo)。 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若有語(yǔ)句:Animal animal=n
50、ew Dog();animal.printA();則這段代碼輸出為()。(選擇一項(xiàng))a) 0 b) 3.3333c) 2d) 3【解析】B 本題關(guān)鍵要理解如何使父類的對(duì)象調(diào)用子類的方法。因?yàn)橥ǔ6际亲宇愓{(diào)用父類的方法。Animal animal=new Dog(); 此處雖然聲明的是父類Animal類型的對(duì)象,但在初始化時(shí)調(diào)用的是子類的構(gòu)造方法。正是因?yàn)榇?,使得animal對(duì)象指向Dog類的引用。該對(duì)象animal在調(diào)用printA()方法時(shí)不是調(diào)用父類的方法,而是調(diào)用在子類中重寫的printA()方法。故本題執(zhí)行10/3=3.3333.41) 在JAVA中,下列()代碼段允許按鈕注冊(cè)一個(gè)ac
51、tion事件。(選擇一項(xiàng))a) button.enableActioinEvents();b) button.addActionListener(anActionListener);c) button.enableEvents(true);d) button.enableEvents(AWTEvent.ACTION_EVENT_MASK);【解析】BSwing的事件模型中,組件可以發(fā)起(或"射出")事件譯注1。各種事件都是類。當(dāng)有事件發(fā)生時(shí),一個(gè)或多個(gè)"監(jiān)聽(tīng)器(listener)"會(huì)得到通知,并做出反應(yīng)。這樣事件的來(lái) 源就同它的處理程序分隔開(kāi)來(lái)了。一般說(shuō)
52、來(lái),程序員是不會(huì)去修改Swing組件的,他們寫的都是些事件處理程序,當(dāng)組件收到事件譯注1時(shí),會(huì)自動(dòng)調(diào)用這些代碼,因此Swing的事件模型可稱得上是將接口與實(shí)現(xiàn)分隔開(kāi)來(lái)的絕好范例了。事件監(jiān)聽(tīng)器(event listener)就是一個(gè)實(shí)現(xiàn)listener接口的對(duì)象。所以,程序員要做的就是創(chuàng)建一個(gè)listener對(duì)象,然后向發(fā)起事件的組件注冊(cè)這個(gè)對(duì)象。注冊(cè)的過(guò)程就是調(diào)用組件的addXXXListener( )方法,這里"XXX"表示組件所發(fā)起的事件的類型。只要看一眼"addListener"方法的名字就能知道組件能處理哪種事件了,所以如果你讓它聽(tīng)錯(cuò)了事件,那么
53、編譯就根本通不過(guò)。到后面你就會(huì)看到,JavaBean在決定它能處理哪些事件時(shí),也遵循"addListener"的命名規(guī)范。42) 在JAVA編程中,實(shí)現(xiàn)Runnable接口時(shí)必須實(shí)現(xiàn)的方法是()。(選擇一項(xiàng))a) wait()b) run()c) stop()d) start()【解析】B這是在JBuild中的工程中的main方法。程序從此處開(kāi)始運(yùn)行,需要運(yùn)行進(jìn)程。此處調(diào)用了Runnable接口的run方法,并對(duì)該方法進(jìn)行了重寫。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接口有一個(gè)最重要的方法run,在進(jìn)程要運(yùn)行時(shí),必須實(shí)現(xiàn)該方法。43) 在JAVA語(yǔ)言中,下面關(guān)于類的描述正確的是()。(選擇一項(xiàng))a) 一個(gè)子類可以有多個(gè)超類b) 一個(gè)超類可以有多個(gè)子類c) 子類可以使用超類的所有d) 子類一定比超類有更多的成員方法【解析】B Java語(yǔ)言中
55、只能實(shí)現(xiàn)單重繼承,也就是一個(gè)子類只能有一個(gè)父類。如果要實(shí)現(xiàn)多重繼承,只能使用接口來(lái)實(shí)現(xiàn)。因?yàn)橐粋€(gè)子類可以實(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是一種完全面向()的語(yǔ)言。(選擇一項(xiàng))a) 過(guò)程b) 對(duì)象c) 組件d) 服務(wù)【解析】BJAVA語(yǔ)言是完全面向?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ò)展自。用來(lái)實(shí)現(xiàn)java中的繼承關(guān)系。 47) JAVA程序中,()不能用來(lái)表示注釋。(選擇一項(xiàng))a) /注釋b) /*注釋*/c) /*注釋*/d) /注釋/【解析】D Java中的三種注釋: 對(duì)單行代碼注釋 /注釋
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年人力資源服務(wù)合同解除協(xié)議
- 2025年前雇主員工競(jìng)業(yè)禁止合同樣本模板
- 2025版?zhèn)€人合伙退伙協(xié)議書糾紛處理指南4篇
- 2025年度駱采與陳鵬的離婚財(cái)產(chǎn)分割及子女撫養(yǎng)權(quán)合同4篇
- 2025年度油煙管道清洗與環(huán)保設(shè)施投資合作合同
- 2025年度豪華酒店加盟投資合作協(xié)議
- 2025年度股東向公司無(wú)息借款及資金使用保障合同
- 2025年度足浴店店面能耗管理與節(jié)能改造合同模板
- 二零二五年度充電樁場(chǎng)地租賃與新能源汽車充電服務(wù)合同
- 二零二五年度跆拳道俱樂(lè)部賽事直播與轉(zhuǎn)播服務(wù)合同
- GB/T 45107-2024表土剝離及其再利用技術(shù)要求
- 2024-2025學(xué)年八年級(jí)上學(xué)期1月期末物理試題(含答案)
- 商場(chǎng)電氣設(shè)備維護(hù)勞務(wù)合同
- 2023年國(guó)家公務(wù)員錄用考試《行測(cè)》真題(行政執(zhí)法)及答案解析
- 2024智慧醫(yī)療數(shù)據(jù)字典標(biāo)準(zhǔn)值域代碼
- 年產(chǎn)12萬(wàn)噸裝配式智能鋼結(jié)構(gòu)項(xiàng)目可行性研究報(bào)告模板-立項(xiàng)備案
- 【獨(dú)家揭秘】2024年企業(yè)微信年費(fèi)全解析:9大行業(yè)收費(fèi)標(biāo)準(zhǔn)一覽
- 醫(yī)療器械經(jīng)銷商會(huì)議
- 《±1100kV特高壓直流換流變壓器使用技術(shù)條件》
- 《風(fēng)電場(chǎng)項(xiàng)目經(jīng)濟(jì)評(píng)價(jià)規(guī)范》(NB-T 31085-2016)
- 五年級(jí)上冊(cè)脫式計(jì)算100題及答案
評(píng)論
0/150
提交評(píng)論