java程序設計試題庫_第1頁
java程序設計試題庫_第2頁
java程序設計試題庫_第3頁
java程序設計試題庫_第4頁
java程序設計試題庫_第5頁
免費預覽已結束,剩余55頁可下載查看

付費下載

下載本文檔

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

文檔簡介

1、Java 語言程序設計基礎教程練習思考題參考答案第 1 章 Java 程序設計概述1.1 單項選擇題1編譯Java Application 源文件將產(chǎn)生相應的字節(jié)碼文件,擴展名是什么A. .javaB. .classC. .htmlD. .exe解答: B2 Java 語言具有許多優(yōu)點和特點,下列選項中,哪個反映了Java 中“一次編譯,隨處運行”的特點。A. 簡單性B. 平臺無關性C. 面向對象性D. 安全性解答: B3 Java 語言具有許多優(yōu)點和特點,下列選項中,哪個反映了Java 中并行機制的特點。A. 多線程B. 平臺無關性C. 面向對象性D. 安全性解答:A4在Java 語言中,下

2、列哪些語句關于內存回收的說明是正確的?A.程序員必須創(chuàng)建一個線程來釋放內存;B.內存回收程序負責釋放無用內存;C.內存回收程序允許程序員直接釋放內存;D.內存回收程序可以在指定的時間釋放內存對象解答: B5一個Java 源文件中最多只能有多少個public 類。A. 1 個B. 2 個C. 3 個D. 任意多個解答: A6下面哪一個不是Java 語言所具有的特點。A. 沒有全局變量,在類的定義外部沒有任何的變量定義;B. 不直接支持指針操作,而使用更安全的引用類型;C. 支持子類對父類的多繼承;D. 具有自動垃圾收集功能;解答: C7 .下面哪一個不是Java開發(fā)工具包JDK的組成部分。A.

3、Java 的編譯器;B. Java 的解釋器;C. Java 的 API 繼承類庫;D. Eclipse 開發(fā)工具;解答: C8 . JDK提供的編譯器是()。A. java.exeB. javac.exeC. javap.exeD. javaw.exe解答: B9作為Java 應用程序入口的main 方法,其聲明格式可以是()A. public void main(String args)B. public static void main(String args)C. public static void Main(String * args)D. public int main(Stri

4、ng args)解答: B10下列說法正確的是(A )A、JAVA程序的main方法必須寫在類里面B、 JAVA 程序中可以有多個main 方法C、JAVA程序中類名必須與文件名一樣D JAVA程序的main方法中如果只有一條語句,可以不用(大括號)括起來11 下列哪些語句關于Java 內存回收的說明是正確的? ( B )A 、程序員必須創(chuàng)建一個線程來釋放內存B 、內存回收程序負責釋放無用內存C 、內存回收程序允許程序員直接釋放內存D 、內存回收程序可以在指定的時間釋放內存對象1.2 填空題1、 開發(fā)與運行Java 程序需要經(jīng)過的三個主要步驟為、 和。解答: 編輯源程序、編譯生成字節(jié)碼和解釋運

5、行字節(jié)碼2、使用Java 編譯器 _ javac.exe 編譯源文件得到字節(jié)碼文件。3、 Java 應用程序必須通過Java 解釋器_JAVA_.exe 來解釋執(zhí)行其字節(jié)碼文件。4、如果Java 源文件中有一個類是public 類,那么源文件的名字必須與這個類的名字完全_相同 ,擴展名是 .java 。5、 Java 應用程序總是從主類的main_方法開始執(zhí)行1.3 簡答題13. 簡述 Java 程序的開發(fā)過程?( 1 )使用一個文字編輯器,編寫源文件。( 2)使用 java 編譯器,編譯源文件得到字節(jié)碼文件。( 3)解釋運行字節(jié)碼,分兩種java 應用程序必須通過java 解釋器來解釋執(zhí)行,

6、java小應用程序必須使用解釋器和瀏覽器運行程序。1. 什么是 Java 虛擬機?為什么Java 被稱作是“平臺無關的編程語言”?解答:Java 虛擬機是一個可以執(zhí)行Java 字節(jié)碼的虛擬機進程。Java 源文件被編譯成能被Java虛擬機執(zhí)行的字節(jié)碼文件。Java 被設計成允許應用程序可以運行在任意的平臺,而不需要程序員為每一個平臺單獨重寫或者是重新編譯。Java 虛擬機讓這個變?yōu)榭赡?,因為它知道底層硬件平臺的指令長度和其他特性。3.Java 語言的關鍵特點有哪些?解答:簡單性平臺無關性面向對象性安全性分布式多線程動態(tài)性1.4 綜合題第 2 章 Java 基本的程序設計結構2.1 單項選擇題1

7、、 下面哪一項在java 中是非法的標識符?()A. $userB. pointC. You&meD. _endline解答:c2、 若有定義int a=9,b=6; 那么ab的值是:()B. 1D. trueA. 0C. false解答: D3、執(zhí)行完以下代碼int x = new int25;后,以下說明正確的是:A. x24 為 0B. x24 未定義C. x25 為 0D. x0 為空解答: A4、 Java 應用程序的main 方法中有以下語句,則輸出的結果是(int x=2,3,-8,7,9;int max=x0;for(int i=1;imax)max=xi;A. 2B. -8C

8、. 7D. 9解答:D5、設x = 1 , y = 2 , z = 3A. 3C. 4解答 AA. 1,則表達式 y + = z/ + + x 的值是()B. 3.5D. 5B. 1.25C. 1.5D. 0解答 A6、下列語句有錯誤的是()A. int a;B. int b=new int10;C. int c=new int; D. int d=null;解答 C7、下列語句有錯誤的是()A. int a=new int55;B. int b=new int55;C. int c=new int55;D. int d=new int5,5;解答 D8、下列哪一個不屬于Java 中的 8 種

9、基本數(shù)據(jù)類型()A. double; B.char;C. int;D. String;解答: D9、以下數(shù)據(jù)類型存儲空間最大的是()A) byteB) long ( C) floatD) chara.equals() succeeded力);解答:B7D5A 52C2答案: A11 在類的定義中可以有兩個同名方法,每個方法的參數(shù)不同,這種現(xiàn)象稱為方法( D )(A)封裝(B)繼承(C)覆蓋(D)重載12 java 中定義字符串String s=” pzhu” , 下面操作可以取得字符串長度的是()A. s.length() B. s.length C. s.size() D. length(s

10、)解答: A13指出下列程序運行的結果( B) ( 很難 )public class Example String str = new String(good);char ch = a, b, c ;public static void main(String args) Example ex = new Example();ex.change(ex.str, ex.ch);public void change(String str, char ch) str = test ok;ch0 = g;A、 good and abcB、 good and gbcC、 test ok and abcD

11、、 test ok and gbc14下面代碼的運行結果為:( C) ( 較難 )import java.io.*;import java.util.*;public class foopublic static void main (String args)String s;A 代碼得到編譯,并輸出“s=”B 代碼得到編譯,并輸出“s=null ”C 由于 String s 沒有初始化,代碼不能編譯通過D 代碼得到編譯,但捕獲到NullPointException 異常15關于以下程序段,正確的說法是(C )1 String s1=” abc” +” def” ;2 String s2=ne

12、w String ( s1 ) ;3 if ( s1= =s2 )“ = = succeeded ” );5 if (s1.equals(s2)A彳f 4與行6都將執(zhí)行B、彳f 4執(zhí)行,行6不執(zhí)行C彳f 6執(zhí)行,行4不執(zhí)行D彳f 4、行6都不執(zhí)行16 Java application中的主類需包含main 方法, main 方法的返回類型是什么?( D )A、 intB、 floatC、 double D 、 void17為一個boolean 類型變量賦值時,可以使用(B ) 方式A、 boolean = 1;B、 boolean a = (9 = 10);C、 boolean a= 真 ;D

13、、 boolean a = = false;18表達式(11+3*8)/4%3 的值是 ( D )A、31 B 、 0 C 、1 D 、 219運算符優(yōu)先級別排序正確的是(A ) (太難)A、 由高向低分別是:()、!、算術運算符、關系運算符、邏輯運算符、賦值運算符;B、 由高向低分別是:()、關系運算符、算術運算符、賦值運算符、!、邏輯運算符;C、 由高向低分別是:()、算術運算符、邏輯運算符、關系運算符、!、賦值運算符;D、 由高向低分別是:()、!、關系運算符、賦值運算符、算術運算符、邏輯運算符;20下列值不為true 的表達式有(C ) 。A、 john = = johnB、 john

14、.equals(john)C、 john = johnD、john.equals(new String(john)21、下面的方法,當輸入為2 的時候返回值是多少?( D) ( 很難 )public static int getValue(int i) int result = 0;switch (i) case 1:result = result + i;case 2:result = result + i * 2;case 3:result = result + i * 3;return result;A0B2C4D10答案: D解析:注意這里case 后面沒有加break ,所以從cas

15、e 2 開始一直往下運行。22、下面有關for 循環(huán)的描述正確的是(A )A、 for循環(huán)體語句中,可以包含多條語句,但要用大括號括起來B、 for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況C、 在 for 循環(huán)中,不能使用break 語句跳出循環(huán)D、 for循環(huán)是先執(zhí)行循環(huán)體語句,后進行條件判斷23、 score 是一個整數(shù)數(shù)組,有五個元素,已經(jīng)正確初始化并賦值,仔細閱讀下面代碼,程序運行結果是(B )temp = score0;for (int index = 1;index 5;index+) if (scoreindex temp) temp = scoreindex;A.求最大數(shù)B.求最小數(shù)

16、C.找到數(shù)組最后一個元素D.編譯出錯26 、27 2填空題1、Java語言是一種完全的面向對象 程序設計語言2、String s1=China ; int n=s1.length( ); n的值為 _5_3、在Java語言中,基本數(shù)據(jù)類型包括: 整數(shù)類型、浮點類型、字符類型和 布爾類型17、在Java的基本數(shù)據(jù)類型中,char型采用Unicode編碼方案,每個 Unicode碼占用_2字節(jié)內存空間,這樣,無論是中文字符還是英文字符,都是占用_2字節(jié)內存空間。18、設x = 2,則表達式(x + + )/3的值是_0。20、設有數(shù)組定義:int MyIntArray = 10, 20, 30,

17、40, 50, 60, 70 ;則執(zhí)行以下幾個語句后的輸出結果是:120。int MyIntArray = 10, 20, 30, 40, 50, 60, 70 ;int s = 0;for (int i = 0; i MylntArray.length; i+)if (i % 2 = 1)s += MyIntArrayi;21、 數(shù)組對象的長度在數(shù)組對象創(chuàng)建之后,就 _不會 改變。 數(shù)組元素的下標總是從_0_開始。22、 對于數(shù)組intt=1,2,3,4,5,6來說, t.length 等于_2_, t0.length等于_3。2.3 簡答題1、 Java 的基本數(shù)據(jù)類型有哪8 種,每種類型

18、的內存空間分別是多少。2.4 綜合題26、編程計算1020 的整數(shù)的平方值,將結果保存在一個數(shù)組中。27、 編寫一個程序使之從鍵盤讀入10 個整數(shù)存入整型數(shù)組a 中, 并輸出這10 個整數(shù)的最大值和最小值。importpublic class lianxi30 public static void main(String args) Scanner temp;float sum = new float 11;float max, min;for ( int i = 0; i 10; i+) System. out.println( 請輸入第一個數(shù)字( 回車結束) : );temp = newS

19、canner(System. in );String a = temp.nextLine();sumi = Integer. parseInt (a); / 獲取輸入的字符串max = sum0;min = sum0;for ( int j = 1; j 10; j+)if (max sumj)min = sumj;System. out .println(max);System. out .println(min);31、如果我國經(jīng)濟以每年10%的速度保持穩(wěn)定增長,請編寫一個程序,計算每年達到多少,多少年可以實現(xiàn)總量翻兩番。class exA4_1public static void mai

20、n(String args) int a=0;double i=0.10,sum=1;while(sum=4)sum=(i+1)*sum;a+;第 3 章 類和對象3.1 單項選擇題1、 下列關于變量的敘述哪個是錯的?()A. 實例變量是類的成員變量。B. 在方法中定義的局部變量在該方法被執(zhí)行時創(chuàng)建。C. 實例變量用關鍵字static 聲明。D. 局部變量在使用前必須被初始化。解答: C2、 在 Java 語言中,下列哪個包是編譯器自動導入的?()A. java.appletB. java.langC. java.ioD. java.awt解答:B6、 不允許作為類及類成員的訪問控制符的是()

21、 。A. publicB. privateC. staticD. protected解答: CAB7、為AB類的一個無形式參數(shù)無返回值的方法method書寫方法頭,使得使用類名作為前綴就可以調用它,該方法頭的形式為() 。A、static void method( )B、public void method( )C、 final void method( )D、 abstract void method( )解答: A8、 可以在下面代碼段point x 處寫入的是?()/point xpublic class Interesting /do somethingA. String str;B.

22、 static int PI=3.14;C. public class MyClass/do other thingD. import java.awt.*;解答: D9、 Java 提供的許多類在不同的包中,使用下面哪個語句可以引入包中的類。A. packageB. includeC. importD. add解答: CpackageB , 且 B 類被聲明為public11、已知A類被打包在packageA , B類被打包在且有一個成員變量x 被聲明為protected 控制方式。C類也位于packageA包,且繼承了 B類 。則以下說法正確的是:()A A類的實例不能訪問到 B類的實例B

23、、A類的實例能夠訪問到B 類一個實例的x 成員C C類的實例可以訪問到B 類一個實例的x 成員D C類的實例不能訪問到 B類的實例解答:C (太難)13、在Java 中,關于final 關鍵字的說法正確的是()A、如果修飾變量,則一旦賦了值,就等同一個常量。B、如果修飾類,則該類只能被一個子類繼承。C如果修飾方法,則該方法不能在子類中被覆蓋。D如果修飾方法,則該方法所在的類不能被繼承。解答: A,C14、關于構造方法以下說法錯誤的是( D )。(A)構造方法名必須與類名一致(B)構造方法可以重載(C)構造方法是通過 new來調用(D)每個類都必須編寫構造方法代碼15、關于類的定義以下說法錯誤(

24、B ) 。(A)類定義使用class關鍵字(B)每個類中必頁有一個 main方法(C) 一個包可以包含多個類(D) java中所有類都是 Object類的子類16、在創(chuàng)建對象時必須(C)A) 先聲明對象,然后才能使用對象B) 先聲明對象,為對象分配內存空間,然后才能使用對象C) 先聲明對象,為對象分配內存空間,對對象初始化,然后才能使用對象D) 上述說法都對17、在調用方法時,若要使方法改變實參的值,可以(B)A) 用基本數(shù)據(jù)類型作為參數(shù)B) 用對象作為參數(shù)C) A 和 B 都對D) A和 B 都不對18、關于以下程序代碼的說明正確的是(D )class HasStaticprivate st

25、atic int x=100;public static void main(String args )HasStatic hs1=new HasStatic( );hs1.x+;HasStatic hs2=new HasStatic( );hs2.x+;hs1=new HasStatic( );hs1.x+;HasStatic.x- -;A、 5 行不能通過編譯,因為引用了私有靜態(tài)變量B、 10 行不能通過編譯,因為x 是私有靜態(tài)變量C、 程序通過編譯,輸出結果為:x=103D、 程序通過編譯,輸出結果為:x=10219、以下關于構造函數(shù)的描述錯誤的是(A ) 。A構造函數(shù)的返回類型只能是v

26、oid型。B、構造函數(shù)是類的一種特殊函數(shù),它的方法名必須與類名相同。C構造函數(shù)的主要作用是完成對類的對象的初始化工作。D 一般在創(chuàng)建新對象時,系統(tǒng)會自動調用構造函數(shù)。20、 Java 中,在如下所示的Test 類中,共有(C )個構造方法。public class Testprivate int x;public Test() x=35; public void Test(double f) This.x=(int)f; public Test(String s)A、 0 B、1 C、 2 D、321、在Java 中 , 關于構造方法,下列說法錯誤的是( C )A、 構造方法的名稱必須與類名相

27、同B、 構造方法可以帶參數(shù)C、 構造方法不可以重載D、 構造方法絕對不能有返回值22、在Java 語言中,下列關于類的繼承的描述,正確的是(B ) 。A、 一個類可以繼承多個父類B、 一個類可以具有多個子類C、 子類可以使用父類的所有方法D、 子類一定比父類有更多的成員方法23、分析選項中關于Java 中 this 關鍵字的說法正確的是(A )A、 this 關鍵字是在對象內部指代自身的引用B、 this 關鍵字可以在類中的任何位置使用C、 this 關鍵字和類關聯(lián),而不是和特定的對象關聯(lián)D、 同一個類的不同對象共用一個this24、在Java 接口中,下列選項中有效的方法聲明是(A ) 。A

28、、 public void aMethod();B、 public final void aMethod();C、 protected void aMethod();D、 private void aMethod();25、下列選項中關于Java 中 super 關鍵字的說法正確的是(A ) 。A、 super 關鍵字是在子類對象內部指代其父類對象的引用B、 super 關鍵字不僅可以指代子類的直接父類,還可以指代父類的父類C、 子類通過super 關鍵字只能調用父類的方法,而不能調用父類的屬性D、 子類通過super 關鍵字只能調用父類的屬性,而不能調用父類的方法3.2 填空題1、 在 Ja

29、va 程序中,通過類的定義只能實現(xiàn)單重繼承 , 但通過接口的定義可以實現(xiàn)多 多重繼承。2、 _抽象(abstract ) _方法是一種僅有方法頭,沒有具體方法體和操作實現(xiàn)的方法,該方法必須在抽象類之中定義。_final 方法是不能被當前類的子類重新定義的方法。3、面向對象程序設計的三個特征是封裝、 多態(tài)、 繼承4、 Java 是面向對象語言,類是客觀事物的_抽象 ,而對象是類的_實例 。5、如果在子類中想使用被子類隱藏的父類成員變量或方法,就可以使用關鍵字_super。6、 Java 中有一種叫作_構造方法_的特殊方法用來對類的對象成員進行初始化。7、JAVA語言中提供了兩種類型的字符串類來處

30、理字符串,它們是String_和_StringBuffer類8、 Java 語言中,所有的類都是_Object 的子類,Java 的窗口通常是_JFrame_的子類,_抽象_類只能定義但不能被實例化,_ 最終_類不能被繼承9、一般Java 程序的類體由兩部分組成:一部分是_屬性_,另一部分是_方法_10、分別用_class_ 關鍵字來定義類,用_new_關鍵字來分配實例存儲空間。11、 Java 中類成員的限定詞有以下幾種:_ private_ _, public _ _, protected _, _ 缺省 _ _。其中,_public _ 的限定的范圍最大。類中限定為_ private _

31、 的成員,只能被這個類本身內部訪問。12、 Java 類中,如果類的定義者沒有顯式的定義任何構造方法,系統(tǒng)將自動提供一個_無參默認_構造方法。13、 在子類中定義與父類的相同的方法, 若在多個子類中定義相同的方法, 則可以調用不同子類中的相同方法而實現(xiàn)不同的功能, 這實現(xiàn)了程序運行時的 多態(tài) 。3.3 簡答題1、 簡單闡述方法的重載和方法的重寫之間的區(qū)別解答:重寫是子類的方法覆蓋父類的方法,要求方法名和參數(shù)都相同重載是在同一個類中的兩個或兩個以上的方法,擁有相同的方法名,但是參數(shù)卻不相同2、 簡述實例變量和類變量的區(qū)別。解答:類變量也叫靜態(tài)變量,也就是在變量前加了static 的變量;實例變量

32、也叫對象變量,即沒加static 的變量;區(qū)別在于:類變量是所有對象共有,其中一個對象將它值改變,其他對象得到的就是改變后的結果;而實例變量則屬對象私有,某一個對象將其值改變,不影響其他對象;2、簡述實例方法和類方法的區(qū)別解答:實例方法可以對當前對象的實例變量進行操作,也可以對類變量進行操作,實例方法由實例對象調用。但類方法不能訪問實例變量,只能訪問類變量。類方法可以由類名直接調用,也可由實例對象進行調用。類方法中不能使用this 或 super 關鍵字。3、面向對象的三個基本特征是什么,分別簡單介紹每個特征。解答:三大特性是:封裝,繼承,多態(tài)。封裝性就是把對象的屬性和服務結合成一個獨立的單位

33、,并盡可能隱蔽對象的內部細節(jié)。特殊類的對象擁有其一般類的全部屬性與服務,稱作特殊類對一般類的繼承。對象的多態(tài)性是指在一般類中定義的屬性或服務被特殊類繼承之后,可以具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為。這使得同一個屬性或服務在一般類及其各個特殊類中具有不同的語義4、簡單闡述成員變量和局部變量的區(qū)別。解答:1)成員變量在整個類內都有效,局部變量只在定義它的方法內有效。2) 成員變量又分為實例成員變量(簡稱實例變量)和類變量(也稱靜態(tài)變量),如果成員變量的類型前面加上關鍵字static ,這樣的成員變量稱為類變量或靜態(tài)變量。3) 如果局部變量的名字與成員變量的名字相同,則成員變量被隱藏,也就是說,這

34、個成員變量在這個方法內暫時失效。這時如果想在該方法內使用成員變量,必須使用關鍵字this 。5、簡述對象的引用和實體。解答:當用類創(chuàng)建一個對象時,類中的成員變量被分配內存空間,這些內存空間稱為該對象的實體,而對象中存放著引用,以確保實體由該對象操作使用。沒有實體的對象稱為空對象,空對象不能使用,即不能讓一個空對象去調用方法產(chǎn)生行為。6、簡述this 關鍵字的意義,以及它在成員方法和構造方法中如何使用。解答: this 是 Java 的一個關鍵字,表示某個對象。this 可以出現(xiàn)在實例方法和構造方法中,但不可以出現(xiàn)在類方法中。this 可以出現(xiàn)在實例方法和構造方法中,但不可以出現(xiàn)在類方法中。th

35、is 關鍵字出現(xiàn)在類的構造方法中時,代表使用該構造方法所創(chuàng)建的對象。實例方法必須通過對象來調用,當this 關鍵字出現(xiàn)在類的實例方法中時,代表正在調用該方法的當前對象。成員函數(shù)中定義了和成員變量中相同的變量時,引用成員變量要用this; 構造函數(shù)中調用同一個類的其他構造函數(shù)時用this 。7、 簡單描述Java 的參數(shù)傳值中的兩種方式,基本數(shù)據(jù)類型參數(shù)的傳值和引用類型參數(shù)的傳值?解答: 在基本數(shù)據(jù)類型參數(shù)的傳值中,基本數(shù)據(jù)類型的參數(shù)向該參數(shù)傳遞的值的級別不可以高于該參數(shù)的級別。在引用類型參數(shù)的傳值中,Java 的引用類型數(shù)據(jù)包括對象、數(shù)組和接口,當參數(shù)是引用類型時, “傳值”傳遞的是變量的引用

36、而不是變量所引用的實體。如果改變參數(shù)變量所引用的實體,就會導致原變量的實體發(fā)生同樣的變化,但是如果改變參數(shù)的引用不會影響向其傳值的變量的引用。8、基本數(shù)據(jù)類型和對象作為參數(shù)傳遞的不同?解答:( 1 )基本數(shù)據(jù)類型作為參數(shù)在方法中傳遞的是值傳遞。( 2)對象是引用傳遞,當對象作為參數(shù)傳遞時,傳遞的是對象的地址。3.4 綜合題1、定義一個“點”(Point) 類用來表示三維空間中的點,類體的成員變量x,y,z 分別表示三維空間的坐標。類體中具有如下成員方法的定義:1)構造方法Point ()可以生成具有特定坐標的點對象。2) setX() , setY() , setZ() 為可以設置三個坐標的方

37、法。3) ) getDistance() 為可以計算該點距離原點距離平方的方法。解答:class Pointdouble x,y,z ;Point(double _x,double _y,double _z)x = _x ;y = _y ;z =_z ;void setX(double _x)x=_x ;void setY(double _y)y=_y ;void setZ(double _z)z=_z ;double getDistance()return ( x*x+y*y+z*z) ;2、編寫一個Java 應用程序Test 類,實現(xiàn)成員方法max(a,b) 的重載。具體要求如下:a) 編

38、寫 void max(int a,int b) 成員方法,對兩個整數(shù)進行大小的比較,輸出打印較大的那個整數(shù)。b) 編寫 void max(float a,float b) 成員方法,對兩個float 數(shù)進行大小的比較,輸出打印較大的那個float 數(shù)。c) 編寫 void max(double a,double b) 成員方法,對兩個double 數(shù)進行大小的比較,輸出打印較大的那個double 數(shù)。public class Testvoid max(int a,int b)void max(float a,float b) void max(double a, double b)public

39、 static void main(String args)Test t =new Test() ;t.max(3,4) ;3、 編寫一個矩形類對數(shù)學中的矩形進行抽象描述,并具有方法可以計算矩形的周長和面積,具體分為以下三個子任務完成。( 1) 創(chuàng)建 Rectangle 類, 添加屬性width 、 height , 并定義構造方法Rectangle(double _width,double _height) ;(2)在Rectangle 類中添加兩種方法computCircum() 和 computArea() 分別計算矩形的周長和面積;(3)編程利用Rectangle 對象輸出一個30*4

40、0 的矩形的周長和面積。解答:public class TestRectang public static void main(String args) / TODOAuto-generated method stubRectangle rect1 = new Rectangle(20,30) ;System. out .println(putArea();System. out .println(putCircum();class Rectangle double width,height ;Rectangle()width = 0 ;height = 0 ;Rectangle( doubl

41、e _width, double _height) width = _width ; height = _height ;double computArea() return width*height ;double computCircum() return 2*(width+height); 第4章繼承、接口和內部類4.1單項選擇題1、 Java中用于定義接口的關鍵字是()A importB、packageC、classD 、interface解答:D2、 以下關于abstract的說法,正確的是()A、abstract 只能修飾類B、abstract 只能修飾方法C、abstract 類

42、中必須有abstract 方法D、abstarct 方法所在的類必須用abstract 修飾解答:D3、 下列哪種說法是正確的()A、私有方法不能被子類覆蓋。B、子類可以覆蓋超類中的任何方法。C、覆蓋方法可以聲明自己拋出的異常多于那個被覆蓋的方法。D、覆蓋方法中的參數(shù)清單必須是被覆蓋方法參數(shù)清單的子集。解答: A4關于類繼承的說法,正確的是()A Java 類允許多重繼承B Java 接口允許多繼承C、接口和類都允許多繼承D、接口和類都不允許多繼承解答: B5 關于抽象類,正確的是。A. 抽象類中不可以有非抽象方法B. 某個非抽象類的父類是抽象類,則這個子類必須重載父類的所有抽象方法C. 可以

43、用抽象類直接去創(chuàng)建對象D. 接口和抽象類是同一個概念解答: B8 抽象類A 和抽象類B 的定義如下:abstract class A abstract int getinfo();public class B extends A private int a = 0;public int getinfo() return a;public static void main(String args) B b = new B();關于上述代碼說明正確的是() 。A. 輸出結果為0B. 通過編譯但沒有輸出任何結果C. 第 5 行不能通過編譯D. 程序第 2 行不能通過編譯解答: A9 、 下面程序的運

44、行結果是class ex4_5_11_A protected static int count = 0;public ex4_5_11_A() count+;class ex4_5_11_B extends ex4_5_11_A public ex4_5_11_B() count+;class ex4_5_11 public static void main(String args) ex4_5_11_B x = new ex4_5_11_B();B. count=2A. count=1C. count=3D. count=4解答: B10、設有下面兩個類的定義:class Person lo

45、ng id; / 身份證號String name; / 姓名class Student extends Person int score; / 入學總分int getScore()return score;Person 和類 Student 的關系是()A包含關系C關聯(lián)關系解答: B11、以下程序代碼錯誤的是(abstract class Pclass A extends Pabstract class B extends P(A) P p=new A();(C) A a=new A();B、繼承關系D無關系,上述類定義有語法錯誤B )。P p=new B();P p=new P()void

46、foo();12、下面是People 和 Child類的定義和構造方法,每個構造方法都輸出編號。在執(zhí)行( D)new Child(mike) 的時候都有哪些構造方法被順序調用?請選擇輸出結果class People String name;public People() public People(String name) = name;class Child extends People People father;public Child(String name) = name;father = new People(name + :F);publi

47、c Child() A312 B 32C 432 D 13213、選項中哪一行代碼可以替換題目中/add code here 而不產(chǎn)生編譯錯誤?(A)public abstract class MyClass public int constInt = 5;/add code here public void method() A public abstract void method(int a);B constInt = constInt + 5;C public int method();D public abstract void anotherMethod() 15、以下哪項是接口的

48、正確定義?(D )A 、 interface B void print() B 、 abstract interface B void print() C、abstract interface B extends A1,A2 /A1、A2為已定義的接口 abstract void print() ;D、 interface B void print();16、A派生出子類B, B派生出子類C,并且在Java源代碼中有如下聲明:1. A a0=new A();2. A a1 =new B();3. A a2=new C();問以下哪個說法是正確的?( D )A、只有第1行能通過編譯B、第1、2行

49、能通過編譯,但第 3行編譯出錯C第1、2、3行能通過編譯,但第 2、3行運行時出錯D第1行、第2行和第3行的聲明都是正確的17、假設A類有如下定義,設a是A類的一個實例,下列語句調用哪個是錯誤的?( C )class A int i;static String s;void method1() static void method2() C A.method1(); D、A.method2()18、以下關于繼承的敘述正確的是( A )。A在Java中類只允許單一繼承B、在Java中一個類只能實現(xiàn)一個接口C在Java中一個類不能同時繼承一個類和實現(xiàn)一個接口D在Java中接口只允許單一繼承19、以

50、下關于抽象類和接口的說法錯誤的是( E )A、抽象類在Java語言中表示的是一種繼承關系,一個類只能使用一次繼承。但是一個 類卻可以實現(xiàn)多個接口。B、在抽象類中可以沒有抽象方法C 實現(xiàn)抽象類和接口的類必須實現(xiàn)其中的所有方法,除非它也是抽象類。接口中的方法都不能被實現(xiàn)D、接口中定義的變量默認是public static final 型,且必須給其初值,所以實現(xiàn)類中不 能重新定義,也不能改變其值。E、接口中的方法都必須加上public關鍵字。4.2填空題1、在Java語言中所有的類都是直接或間接地繼承_ Object 類而得到的。2、在Java中一個父類可以有多 個子類,一個類只能有 一 個直接父

51、類。3、Java中不能被實例化、只能被子類繼承的是 抽象 類4、 當子類中的變量或方法與父類的變量和方法重名時, 子類的變量被 隱藏 , 子類中的方法被 重載。此時, 指向父類中的變量或方法,則用super 關鍵字實現(xiàn)。5、用來定義一個類指定繼承父類的關鍵字是extends , 用來指定接口的繼承的關鍵字是implements7、在已有類的基礎上構造一個新的類,稱為類的 繼承。4.3 簡答題1、請舉例簡要說明JAVA語言的繼承機制有何特點?解答:子類可以使用父類中的成員變量和方法,然后也可以添加自己的屬性和方法。如果子類沒有構造方法,則編譯器首先為子類添加一個無參的構造方法,然后調用父類的默認構造方法,如果子類有構造方法,則先調用父類的默認構造方法,再調用子類的構造方法;如果父類中沒有默認構造方法,則出錯。(太難)2、什么是繼承?什么是多重繼承

溫馨提示

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

最新文檔

評論

0/150

提交評論