java程序設(shè)計(jì)試題庫_第1頁
java程序設(shè)計(jì)試題庫_第2頁
java程序設(shè)計(jì)試題庫_第3頁
java程序設(shè)計(jì)試題庫_第4頁
java程序設(shè)計(jì)試題庫_第5頁
已閱讀5頁,還剩48頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、實(shí)用標(biāo)準(zhǔn)文檔?Java語言程序設(shè)計(jì)根底教程?練習(xí)思考題參考答案第1章Java程序設(shè)計(jì)概述1.1單項(xiàng)選擇題1 .編譯Java Application源文件將產(chǎn)生相應(yīng)的字節(jié)碼文件,擴(kuò)展名是什么A. .javaB. .classC. .htmlD. .exe解答:B2. Java語言具有許多優(yōu)點(diǎn)和特點(diǎn),以下選項(xiàng)中,哪個反映了 Java中“一次編譯,隨處運(yùn)行的特點(diǎn).A.簡單性B.平臺無關(guān)性C.面向?qū)ο笮訢.平安性解答:B3. Java語言具有許多優(yōu)點(diǎn)和特點(diǎn),以下選項(xiàng)中,哪個反映了 Java中并行機(jī)制 的特點(diǎn).A.多線程B.平臺無關(guān)性C.面向?qū)ο笮訢.平安性解答:A4. 在Java語言中,以下哪些語句關(guān)

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

3、成局部.A. Java的編譯器;B. Java的解釋器;C. Java的API繼承類庫;D. Eclipse 開發(fā)工具;解答:CA. java.exeC. javap.exe8 . JDK提供的編譯器是.B. javac.exeD. javaw.exe解答:B9 .作為Java應(yīng)用程序入口的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(St

4、ring 口 args)« Java語言程序設(shè)計(jì)根底教程?解答:B10 .以下說法正確的選項(xiàng)是A A、JAVA程序的main方法必須寫在類里面B、JAVA程序中可以有多個 main方法C、JAVA程序中類名必須與文件名一樣D JAVA程序的main方法中如果只有一條語句,可以不用大括號括起來11 .以下哪些語句關(guān)于Java內(nèi)存回收的說明是正確的? B A、程序員必須創(chuàng)立一個線程來釋放內(nèi)存B、內(nèi)存回收程序負(fù)責(zé)釋放無用內(nèi)存C、內(nèi)存回收程序允許程序員直接釋放內(nèi)存D、內(nèi)存回收程序可以在指定的時間釋放內(nèi)存對象1.2填空題1、開發(fā)與運(yùn)行Java程序需要經(jīng)過的三個主要步驟為 、和O解答:編輯源程序

5、、編譯生成字節(jié)碼和解釋運(yùn)行字節(jié)碼2、使用Java編譯器 javac.exe 編譯源文件得到字節(jié)碼文件.3、Java應(yīng)用程序必'須通過 Java解釋器_JAVA .exe來解釋執(zhí)行其字節(jié)碼文件.4、如果Java源文件中有一個類是public類,那么源文件的名字必須與這個類的名字完全相同,擴(kuò)展名是.java .5、Java應(yīng)用程序總是從主類的 main 方法開始執(zhí)行.1.3簡做題13.簡述Java程序的開發(fā)過程?« Java語言程序設(shè)計(jì)根底教程?(1)使用一個文字編輯器,編寫源文件.(2)使用java編譯器,編譯源文件得到字節(jié)碼文件.(3)解釋運(yùn)行字節(jié)碼, 分兩種java應(yīng)用程序

6、必須通過java解釋器來解釋執(zhí)行,java小應(yīng) 用程序必須使用解釋器和瀏覽器運(yùn)行程序.1 .什么是Java虛擬機(jī)?為什么 Java被稱作是“平臺無關(guān)的編程語言?解答:Java虛擬機(jī)是一個可以執(zhí)行 Java字節(jié)碼的虛擬機(jī)進(jìn)程.Java源文件被編譯成能被 Java 虛擬機(jī)執(zhí)行的字節(jié)碼文件.Java被設(shè)計(jì)成允許應(yīng)用程序可以運(yùn)行在任意的平臺,而不需要程序員為每一個平臺單 獨(dú)重寫或者是重新編譯.Java虛擬機(jī)讓這個變?yōu)榭赡?由于它知道底層硬件平臺的指令長 度和其他特性.3 .Java語言的關(guān)鍵特點(diǎn)有哪些?解答:簡單性平臺無關(guān)性面向?qū)ο笮云桨残苑植际蕉嗑€程動態(tài)性1.4綜合題第2章Java根本的程序設(shè)計(jì)結(jié)構(gòu)

7、2.1 單項(xiàng)選擇題1、 下面哪一項(xiàng)在java中是非法的標(biāo)識符?()A. $userB. pointC. You&meD. endline« Java語言程序設(shè)計(jì)根底教程?2、解答:C假設(shè)有定義int a=9,b=6;A. 0C. false解答:D那么a>b的值是:B. 1D. true3、執(zhí)行完以下代碼int x = new int25;A. x24為 0C. x25為 0解答:AB. x24D. x0后,以下說明正確的選項(xiàng)是:未定義為空4、Java應(yīng)用程序的 main方法中有以下語句,那么輸出的結(jié)果是int x=2,3,-8,7,9;int max=x0;for(i

8、nt i=1;i<x.length;i+) if(xi>max) max=xi;System.out.println(max);A. 2C. 7解答:D5、設(shè) x = 1 , y = 2 , z = 3A. 3C. 4解答:A5、執(zhí)行 System.out.println(5/4)A. 1B. -8D. 9,那么表達(dá)式B. 3.5D. 5y +=z/ + +x,這條代碼的輸出結(jié)果是B. 1.25的值是6、7、8、C. 1.5解答:AD. 0卜列語句有錯誤的選項(xiàng)是:A. int a;C. int c=new int;解答:C卜列語句有錯誤的選項(xiàng)是:A. int a=new int55

9、;C. int c=new int55;解答:D卜列哪一個不屬于Java中的B. int b=new int10;D. int d尸null;B. int b=new int55;D. int d=new int5,5;8種根本數(shù)據(jù)類型A. double;B.char;« Java語言程序設(shè)計(jì)根底教程?C. int; D. String;解答:D9、以下數(shù)據(jù)類型存儲空間最大的是().(A) byte (B) long(C) float (D) char解答:B10、System.out.println("5" + 2);的輸出結(jié)果應(yīng)該是().A 52B7C2D5答

10、案: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)解答:A13 .指出以下程序運(yùn)行的結(jié)果(B)(很難)public class Example String str = new String("good");char ch = 'a', 'b'

11、, 'c' ;public static void main(String args) Example ex = new Example.;ex.change(ex.str, ex.ch);System.out.print(ex.str + " and ");System.out.print(ex.ch);public void change(String str, char ch口)str = "test ok"ch0 = 'g'« Java語言程序設(shè)計(jì)根底教程?)A、good and abcB> goo

12、d and gbcC test ok and abcD test ok and gbc14 .下面代碼的運(yùn)行結(jié)果為:(C)(較難) import java.io.*;import java.util.*;public class foopublic static void main (String口 args)String s;System.out.println("s=" + s);)A代碼得到編譯,并輸出“s=B代碼得到編譯,并輸出“ s=null C由于String s 沒有初始化,代碼不能編譯通過D代碼得到編譯,但捕獲到NullPointException 異常+

13、def ;(s1);"=succeeded ");.equals.succeeded ");15 .關(guān)于以下程序段,正確的說法是( C )1 .String s1= abc2 .String s2=new String3 .if (s1= =s2 )4 .System.out.println(5 .if (s1.equals(s2)6 .System.out.println(A彳T 4與行6都將執(zhí)行 日彳T 4執(zhí)行,行6不執(zhí)行 C彳T 6執(zhí)行,行4不執(zhí)行 D彳T 4、行6都不執(zhí)行16. Java application中的主類需包含main方法,main方法的返回

14、類型是什么?A int、float、void« Java語言程序設(shè)計(jì)根底教程?C double17.為一個boolean類型變量賦值時,可以使用 B 方式A、 boolean = 1;B> boolean a = 9 >= 10;C boolean a="真";Ek boolean a = = false;18 .表達(dá)式11+3*8/4%3 的值是D A 31 B、0 C、1 D、219 .運(yùn)算符優(yōu)先級別排序正確的選項(xiàng)是 A太難A由高向低分別是:、!、算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、賦值運(yùn)算符;B由高向低分別是:、關(guān)系運(yùn)算符、算術(shù)運(yùn)算符、賦值運(yùn)算符

15、、 !、邏輯運(yùn)算符;C由高向低分別是:、算術(shù)運(yùn)算符、邏輯運(yùn)算符、關(guān)系運(yùn)算符、 !、賦值運(yùn)算符;D由高向低分別是:、!、關(guān)系運(yùn)算符、賦值運(yùn)算符、算術(shù)運(yùn)算符、邏輯運(yùn)算符;20 .以下值不為true的表達(dá)式有C .A "john" = = "john"B> "john".equals"john"C "john" = "john"D "john".equalsnew String"john"21、下面的方法,當(dāng)輸入為 2的時候返回值是多少

16、?D很難public static int getValueint 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« Java語言程序設(shè)計(jì)根底教程?解析:注意這里 case后面沒有加break ,所以從case 2開始一直往下運(yùn)行.22、下面有關(guān)for循環(huán)的描述正確的選項(xiàng)是( A )A、for循環(huán)體語句中,可以包含多條語句,但要用大括號括起來日for

17、循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況C 在for循環(huán)中,不能使用 break語句跳出循環(huán)D for循環(huán)是先執(zhí)行循環(huán)體語句,后進(jìn)行條件判斷23、score是一個整數(shù)數(shù)組,有五個元素,已經(jīng)正確初始化并賦值,仔細(xì)閱讀下面代碼,程序運(yùn)行結(jié)果是(B )temp = score0;for (int index = 1;index < 5;index+) if (scoreindex < temp) temp = scoreindex;A.求最大數(shù)B.求最小數(shù)C.找到數(shù)組最后一個元素D.編譯出錯26、2.2填空題1、Java語言是一種完全的面向?qū)ο蟪绦蛟O(shè)計(jì)語言2、String s1="C

18、hina ; int n=s1.length( ); n 的值為 _5_3、在Java語言中,根本數(shù)據(jù)類型包括: 整數(shù)類型、浮點(diǎn)類型、字符類 型和 布爾類型17、在Java的根本數(shù)據(jù)類型中,char型采用Unicode編碼方案,每個Unicode碼占用_2字節(jié)內(nèi)存空間,這樣,無論是中文字符還是英文字符,都是占用_2字節(jié)內(nèi)存空10« Java語言程序設(shè)計(jì)根底教程?18、設(shè)x = 2,那么表達(dá)式(x + + )/3的值是_0.20、設(shè)有數(shù)組定義:int MyIntArray = 10, 20, 30, 40, 50, 60, 70 );那么執(zhí)行以下幾個語句后的輸出結(jié)果是:120.int

19、MyIntArray口 = 10, 20, 30, 40, 50, 60, 70 );int s = 0;for (int i = 0; i < MyIntArray.length; i+)if (i % 2 = 1)s += MyIntArrayi;System.out.println(s);21、數(shù)組對象的長度在數(shù)組對象創(chuàng)立之后,就 不會 改變.數(shù)組元素的下標(biāo)總是 從 0 開始.22、對于數(shù)組 intt=1,2,3,4,5,6)來說,t.length 等于 _2, t0.length等于_3.2.3簡做題1、Java的根本數(shù)據(jù)類型有哪 8種,每種類型的內(nèi)存空間分別是多少.2.4綜合題

20、26、編程計(jì)算1020的整數(shù)的平方值,將結(jié)果保存在一個數(shù)組中.27、編寫一個程序使之從鍵盤讀入10個整數(shù)存入整型數(shù)組a中,并輸出這10個整數(shù)的最大值和最小值.import java.util.Scanner;public 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ù)字(回車結(jié)束):");te

21、mp = new Scanner(System. in );1011« Java語言程序設(shè)計(jì)根底教程?String a = temp.nextLine();sumi = Integer. parseInt (a); /獲取輸入的字符串)max = sum0;min = sum0;for ( int j = 1; j < 10; j+) if (max < sumj)max = sumj;else if (min > sumj)min = sumj;System. out .println(max);System. out .println(min);31、如果我國經(jīng)

22、濟(jì)以每年10%勺速度保持穩(wěn)定增長, 請編寫一個程序,計(jì)算每年到達(dá)多 少,多少年可以實(shí)現(xiàn)總量翻兩番.class exA4_1public static void main(String args)int a=0;double i=0.10,sum=1;while(sum<=4)sum=(i+1)*sum;a+;System.out.println("第"+a+"年到達(dá)"+sum);)System.out.println(" 需要"+a+"年實(shí)現(xiàn)兩番");1112« Java語言程序設(shè)計(jì)根底教程?第3章

23、類和對象3.1單項(xiàng)選擇題1、以下關(guān)于變量的表達(dá)哪個是錯的?A.實(shí)例變量是類的成員變量.B.在方法中定義的局部變量在該方法被執(zhí)行時創(chuàng)立.C.實(shí)例變量用關(guān)鍵字 static 聲明.D.局部變量在使用前必須被初始化.解答:C2、在Java語言中,以下哪個包是編譯器自動導(dǎo)入的?A. java.appletB. java.langC. java.ioD. java.awt解答:B6、不允許作為類及類成員的訪問限制符的是.A. publicB. privateC. staticD. protected解答:CAB7、為AB類的一個無形式參數(shù)無返回值的方法method書寫方法頭,使得使用類名作為前綴就可以調(diào)

24、用它,該方法頭的形式為.A、 static void method B、 public void methodC final void method D abstract void method解答:A8、 可以在下面代碼段 point x 處寫入的是?/point xpublic class Interesting/do something )A. String str;B. static int PI=3.14;C. public class MyClass/do other thingD. import java.awt.*;解答:D9、Java提供的許多類在不同的包中,使用下面哪個語句

25、可以引入包中的類.1213« Java語言程序設(shè)計(jì)根底教程?B. includeD. addA. packageC. import 解答:C11、A類被打包在 packageA , B類被打包在 packageB,且B類被聲明為 public且有一個成員變量x被聲明為protected 限制方式.C類也位于packageA包,且繼承了類.那么以下說法正確的選項(xiàng)是:A、A類的實(shí)例不能訪問到 B、A類的實(shí)例能夠訪問到 C C類的實(shí)例可以訪問到 D C類的實(shí)例不能訪問到B類的實(shí)例B類一個實(shí)例的x成員B類一個實(shí)例的x成員B類的實(shí)例解答:C 太難13、在Java中,關(guān)于final關(guān)鍵字的說法正

26、確的選項(xiàng)是A、如果修飾變量,那么一旦賦了值,就等同一個常量.B、如果修飾類,那么該類只能被一個子類繼承.C如果修飾方法,那么該方法不能在子類中被覆蓋.D如果修飾方法,那么該方法所在的類不能被繼承.解答:A,C14、關(guān)于構(gòu)造方法以下說法錯誤的選項(xiàng)是D .A構(gòu)造方法名必須與類名一致B構(gòu)造方法可以重載C構(gòu)造方法是通過new來調(diào)用 D每個類都必須編寫構(gòu)造方法代碼15、關(guān)于類的定義以下說法錯誤 B .A類定義使用class關(guān)鍵字 B每個類中必'須有一個 main方法C 一個包可以包含多個類D java中所有類都是 Object類的子類16、在創(chuàng)立對象時必須CA先聲明對象,然后才能使用對象B先聲明

27、對象,為對象分配內(nèi)存空間,然后才能使用對象C先聲明對象,為對象分配內(nèi)存空間,對對象初始化,然后才能使用對象D上述說法都對17、在調(diào)用方法時,假設(shè)要使方法改變實(shí)參的值,可以BA用根本數(shù)據(jù)類型作為參數(shù)B用對象作為參數(shù)C A和B都對D A和B都不對18、關(guān)于以下程序代碼的說明正確的選項(xiàng)是 D class HasStaticprivate static int x=100;public static void mainString args HasStatic hs1=new HasStatic;hs1.x+;HasStatic hs2=new HasStatic;1314« Java語言程

28、序設(shè)計(jì)根底教程?hs2.x+;hs1=new HasStatic();hs1.x+;HasStatic.x-;System.out.println("x=" +x);A、5行不能通過編譯,由于引用了私有靜態(tài)變量B> 10行不能通過編譯,由于x是私有靜態(tài)變量C程序通過編譯,輸出結(jié)果為:x=103D程序通過編譯,輸出結(jié)果為:x=10219、以下關(guān)于構(gòu)造函數(shù)的描述錯誤的選項(xiàng)是( A ).A構(gòu)造函數(shù)的返回類型只能是void型.日構(gòu)造函數(shù)是類的一種特殊函數(shù),它的方法名必須與類名相同.C構(gòu)造函數(shù)的主要作用是完成對類的對象的初始化工作.D 一般在創(chuàng)立新對象時,系統(tǒng)會自動調(diào)用構(gòu)造函數(shù)

29、.20、Java中,在如下所示的 Test類中,共有(C )個構(gòu)造方法.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中,關(guān)于構(gòu)造方法,以下說法錯誤的選項(xiàng)是(C )A、構(gòu)造方法的名稱必須與類名相同B構(gòu)造方法可以帶參數(shù)C 構(gòu)造方法不可以重載D構(gòu)造方法絕對不能有返回值22、在Java語言中,以下關(guān)于類的繼承的描述,正確的選項(xiàng)是( B ).A、一個類可以繼承多個父類B一個類可

30、以具有多個子類C子類可以使用父類的所有方法D子類一定比父類有更多的成員方法141515« Java語言程序設(shè)計(jì)根底教程?23、分析選項(xiàng)中關(guān)于 Java中this關(guān)鍵字的說法正確的選項(xiàng)是( A )A this關(guān)鍵字是在對象內(nèi)部指代自身的引用B> this關(guān)鍵字可以在類中的任何位置使用C this關(guān)鍵字和類關(guān)聯(lián),而不是和特定的對象關(guān)聯(lián)D 同一個類的不同對象共用一個 this24、在Java接口中,以下選項(xiàng)中有效的方法聲明是( A ).A public void aMethod();B> public final void aMethod();C protected void

31、aMethod();D private void aMethod();25、以下選項(xiàng)中關(guān)于 Java中super關(guān)鍵字的說法正確的選項(xiàng)是( A ).A super關(guān)鍵字是在子類對象內(nèi)部指代其父類對象的引用日super關(guān)鍵字不僅可以指代子類的直接父類,還可以指代父類的父類C 子類通過super關(guān)鍵字只能調(diào)用父類的方法,而不能調(diào)用父類的屬性D 子類通過super關(guān)鍵字只能調(diào)用父類的屬性,而不能調(diào)用父類的方法3.2填空題1、在Java程序中,通過類的定義只能實(shí)現(xiàn) 單重繼承,但通過接口的定義可 以實(shí)現(xiàn)多多重繼承.2、抽象(abstract ) 方法是一種僅有方法頭,沒有具體方法體和操作實(shí)現(xiàn)的方法,該方

32、法必須在抽象類之中定義._final 方法是不能被當(dāng)前類的子類重新定義的方法.3、面向?qū)ο蟪绦蛟O(shè)計(jì)的三個特征是 封裝、多態(tài)、繼承4、Java是面向?qū)ο笳Z言,類是客觀事物的抽象,而對象是類的 實(shí)例.5、如果在子類中想使用被子類隱藏的父類成員變量或方法,就可以使用關(guān)鍵字 super6、Java中有一種叫作構(gòu)造方法的特殊方法用來對類的對象成員進(jìn)行初始化.String_7、JAVA語言中提供了兩種類型的字符串類來處理字符串,它們是StringBuffer 類16« Java語言程序設(shè)計(jì)根底教程?8、Java語言中,所有 的類都是Object的子類,Java的窗口通常是 JFrame_的子類,

33、 抽象 類只能定義但不能被實(shí)例化,最終 類不能被繼承9、一般Java程序的類體由兩局部組成:一局部是屬性,另一局部是 方法10、分別用_class_關(guān)鍵字來定義類,用 _new_關(guān)鍵字來分配實(shí)例存儲空間.11、Java 中類成員的限定詞有以下幾種:_ private , public _, protected _, _缺省_ _.其中,_public _的限定的范圍最大.類中限定為 _ private _ 的成員, 只能被這個類本身內(nèi)部訪問.12、Java類中,如果類的定義者沒有顯式的定義任何構(gòu)造方法,系統(tǒng)將自動提供一個 無參默認(rèn)構(gòu)造方法.13、在子類中定義與父類的相同的方法,假設(shè)在多個子類中

34、定義相同的方法,那么可以調(diào)用不同子類中的相同方法而實(shí)現(xiàn)不同的功能,這實(shí)現(xiàn)了程序運(yùn)行時的 多態(tài).3.3簡做題1.簡單闡述方法的重載和方法的重寫之間的區(qū)別解答:重寫是子類的方法覆蓋父類的方法,要求方法名和參數(shù)都相同重載是在同一個類中的兩個或兩個以上的方法,擁有相同的方法名,但是參數(shù)卻不相2、簡述實(shí)例變量和類變量的區(qū)別.解答:類變量也叫靜態(tài)變量,也就是在變量前加了static 的變量;實(shí)例變量也叫對象變量,即沒加 static 的變量;區(qū)別在于:類變量是所有對象共有,其中一個對象將它值改變,其他對象得到的就是 改變后的結(jié)果;而實(shí)例變量那么屬對象私有,某一個對象將其值改變,不影響其他對象;2、簡述實(shí)例

35、方法和類方法的區(qū)別解答:實(shí)例方法可以對當(dāng)前對象的實(shí)例變量進(jìn)行操作,也可以對類變量進(jìn)行操作,實(shí) 例方法由實(shí)例對象調(diào)用.但類方法不能訪問實(shí)例變量,只能訪問類變量.類方法可以由類 名直接調(diào)用,也可由實(shí)例對象進(jìn)行調(diào)用.類方法中不能使用this或super關(guān)鍵字.3、面向?qū)ο蟮娜齻€根本特征是什么,分別簡單介紹每個特征.1617« Java語言程序設(shè)計(jì)根底教程?解答:三大特性是:封裝,繼承,多態(tài).封裝性就是把對象的屬性和效勞結(jié)合成一個獨(dú)立的單位,并盡可能隱蔽對象的內(nèi)部細(xì) 節(jié).特殊類的對象擁有其一般類的全部屬性與效勞,稱作特殊類對一般類的繼承.對象的多態(tài)性是指在一般類中定義的屬性或效勞被特殊類繼承

36、之后,可以具有不同的 數(shù)據(jù)類型或表現(xiàn)出不同的行為.這使得同一個屬性或效勞在一般類及其各個特殊類中具有 不同的語義.4、簡單闡述成員變量和局部變量的區(qū)別.解答:1成員變量在整個類內(nèi)都有效,局部變量只在定義它的方法內(nèi)有效.2成員變量又分為實(shí)例成員變量簡稱實(shí)例變量和類變量也稱靜態(tài)變量,如果成員變量的類型前面加上關(guān)鍵字static ,這樣的成員變量稱為類變量或靜態(tài)變量.3如果局部變量的名字與成員變量的名字相同,那么成員變量被隱藏,也就是說,這個 成員變量在這個方法內(nèi)暫時失效.這時如果想在該方法內(nèi)使用成員變量,必須使用關(guān)鍵字 this .5、簡述對象的引用和實(shí)體.解答:當(dāng)用類創(chuàng)立一個對象時,類中的成員變

37、量被分配內(nèi)存空間,這些內(nèi)存空間稱為 該對象的實(shí)體,而對象中存放著引用,以保證實(shí)體由該對象操作使用.沒有實(shí)體的對象稱 為空對象,空對象不能使用,即不能讓一個空對象去調(diào)用方法產(chǎn)生行為.6、簡述this關(guān)鍵字的意義,以及它在成員方法和構(gòu)造方法中如何使用.解答:this是Java的一個關(guān)鍵字,表示某個對象.this可以出現(xiàn)在實(shí)例方法和構(gòu)造方法中,但不可以出現(xiàn)在類方法中.this可以出現(xiàn)在實(shí)例方法和構(gòu)造方法中,但不可以出現(xiàn)在類方法中.this關(guān)鍵字出現(xiàn)在類的構(gòu)造方法中時,代表使用該構(gòu)造方法所創(chuàng)立的對象.實(shí)例方法必須通過對象來調(diào)用,當(dāng)this關(guān)鍵字出現(xiàn)在類的實(shí)例方法中時,代表正在調(diào)用該方法的當(dāng)前對象.成員

38、函數(shù)中定義了和成員變量中相同的變量時,引用成員變量要用this;構(gòu)造函數(shù)中調(diào)用同一個類的其他構(gòu)造函數(shù)時用this .7、簡單描述Java的參數(shù)傳值中的兩種方式,根本數(shù)據(jù)類型參數(shù)的傳值和引用類型參 數(shù)的傳值?解答:在根本數(shù)據(jù)類型參數(shù)的傳值中,根本數(shù)據(jù)類型的參數(shù)向該參數(shù)傳遞的值的級別 不可以高于該參數(shù)的級別.在引用類型參數(shù)的傳值中,Java的引用類型數(shù)據(jù)包括對象、數(shù)組和接口,當(dāng)參數(shù)是引用類型時,“傳值傳遞的是變量的引用而不是變量所引用的實(shí)體.如果改變參數(shù)變量所引 用的實(shí)體,就會導(dǎo)致原變量的實(shí)體發(fā)生同樣的變化,但是如果改變參數(shù)的引用不會影響向 其傳值的變量的引用.1718« Java語言程

39、序設(shè)計(jì)根底教程?8、根本數(shù)據(jù)類型和對象作為參數(shù)傳遞的不同?解答:(1)根本數(shù)據(jù)類型作為參數(shù)在方法中傳遞的是值傳遞.(2)對象是引用傳遞,當(dāng)對象作為參數(shù)傳遞時,傳遞的是對象的地址.3.4綜合題x,y,z 分別1、定義一個“點(diǎn) (Point)類用來表示三維空間中的點(diǎn),類體的成員變量 表示三維空間的坐標(biāo).類體中具有如下成員方法的定義:1)構(gòu)造方法Point ()可以生成具有特定坐標(biāo)的點(diǎn)對象.2) setX() , setY() , setZ()為可以設(shè)置三個坐標(biāo)的方法.3) ) getDistance()為可以計(jì)算該點(diǎn)距離原點(diǎn)距離平方的方法.解答:class Pointdouble x,y,z ;P

40、oint(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);)1819« Java語言程序設(shè)計(jì)根底教程?2、編寫一個Java應(yīng)用程序Test類,實(shí)現(xiàn)成員方法 max(a,b)的重載.具體要求如下:a) 編寫void max(int a,int b) 成員方法,對兩個整數(shù)進(jìn)行大小的比

41、擬,輸出打印較大的 那個整數(shù).b) 編寫void max(float a,float b) 成員方法,對兩個 float數(shù)進(jìn)行大小的比擬,輸出打 印較大的那個float數(shù).c) 編寫void max(double a,double b) 成員方法,對兩個 double數(shù)進(jìn)行大小的比擬,輸 出打印較大的那個 double數(shù).public class Testvoid max(int a,int b)System.out.println(a>b ? a:b);)void max(float a,float b)System.out.println(a>b ? a:b);)void ma

42、x(double a, double b)System.out.println(a>b ? a:b);)public static void main(String args)Test t =new Test();t.max(3,4);)3、編寫一個矩形類對數(shù)學(xué)中的矩形進(jìn)行抽象描述,并具有方法可以計(jì)算矩形的周長和面積,具體分為以下三個子任務(wù)完成.(1)創(chuàng)立 Rectangle 類,添加屬性 width > height,并定義構(gòu)造方法 Rectangle(double _width, double _height) ;(2)在Rectangle 類中添加兩種方法 computCir

43、cum()和computArea()分別計(jì)算矩形的周長和面積;(3)編程利用Rectangle對象輸出一個30*40的矩形的周長和面積.解答:public class TestRectang public static void main(String args) / TODCAuto-generated method stub1920« Java語言程序設(shè)計(jì)根底教程?Rectangle recti = new Rectangle(20,30);System. out .println(rect1 putArea();System. out .println(rect1 putCir

44、cum();)class Rectangle double width,height ;Rectangle()width = 0 ;height = 0 ;)Rectangle( double _width, double _height) width = _width ;height = _height ;)double computCircum() return 2*(width+height);)第4章繼承、接口和內(nèi)部類4.1單項(xiàng)選擇題1、Java中用于定義接口的關(guān)鍵字是A importB、packageC classD 、interface解答:D20« Java語言程序設(shè)計(jì)

45、根底教程?212、 以下關(guān)于abstract的說法,正確的選項(xiàng)是()A、abstract 只能修飾類B、abstract 只能修飾方法C abstract 類中必須有abstract 方法D abstarct 方法所在的類必須用abstract修飾解答:D3、 以下哪種說法是正確的()A、私有方法不能被子類覆蓋.B、子類可以覆蓋超類中的任何方法.C覆蓋方法可以聲明自己拋出的異常多于那個被覆蓋的方法.D覆蓋方法中的參數(shù)清單必須是被覆蓋方法參數(shù)清單的子集.解答:A4、關(guān)于類繼承的說法,正確的選項(xiàng)是()A、Java類允許多重繼承B、Java接口允許多繼承C接口和類都允許多繼承D接口和類都不允許多繼承

46、解答:B5、關(guān)于抽象類,正確的選項(xiàng)是 .A.抽象類中不可以有非抽象方法B.某個非抽象類的父類是抽象類,那么這個子類必須重載父類的所有抽象方法C.可以用抽象類直接去創(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();System.out.print

47、ln(b.getinfo();2122« Java語言程序設(shè)計(jì)根底教程?關(guān)于上述代碼說明正確的選項(xiàng)是().A.輸出結(jié)果為0B.通過編譯但沒有輸出任何結(jié)果C.第5行不能通過編譯D.程序第2行不能通過編譯解答:A9、下面程序的運(yùn)行結(jié)果是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(St

48、ring args) ex4_5_11_B x = new ex4_5_11_B();System.out.println("count=" + x.count); A. count=1B. count=2C. count=3D. count=4解答:B10、設(shè)有下面兩個類的定義:class Person long id; / 身份證號 String name; / 姓名class Student extends Person int score; /入學(xué)總分int getScore()return score;問:類Person和類Student的關(guān)系是()A、包含關(guān)系B

49、、繼承關(guān)系2223« Java語言程序設(shè)計(jì)根底教程?C關(guān)聯(lián)關(guān)系解答:BD無關(guān)系,上述類定義有語法錯誤B ).(B) P p=new B();(D) P p=new P()void foo();2311、以下程序代碼錯誤的選項(xiàng)是(abstract class Pclass A extends Pabstract class B extends P(A) P p=new A();(C) A a=new A();12、下面是People和Child類的定義和構(gòu)造方法,每個構(gòu)造方法都輸出編號.在執(zhí)行 new Child("mike")的時候都有哪些構(gòu)造方法被順序調(diào)用?請選

50、擇輸出結(jié)果 (D)class People String name;public People() System.out.print(1);public People(String name) System.out.print(2); = name;class Child extends People People father;public Child(String name) System.out.print(3); = name;father = new People(name + ":F"); public Child() Sys

51、tem.out.print(4);24A312 B 32C 432 D13213、選項(xiàng)中哪一行代碼可以替換題目中public abstract class MyClass /add code here而不產(chǎn)生編譯錯誤?(A)« Java語言程序設(shè)計(jì)根底教程?public int constInt = 5;/add code herepublic void method() A public abstract void method(int a);B constInt = constInt + 5;C public int method();D public abstract void

52、 anotherMethod() 15、以下哪項(xiàng)是接口的正確定義? ( 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();問以下哪個說法

53、是正確的?( D )A、只有第1行能通過編譯B第1、2行能通過編譯,但第3行編譯出錯C第1、2、3行能通過編譯,但第2、3行運(yùn)行時出錯D第1行、第2行和第3行的聲明都是正確的17、假設(shè)A類有如下定義,設(shè)a是A類的一個實(shí)例,以下語句調(diào)用哪個是錯誤的? class A int i;static String s;void method1() static void method2() 2425« Java語言程序設(shè)計(jì)根底教程?A、System.out.println(a.i)C A.method1();B 、a.method1();、A.method2()18、以下關(guān)于繼承的表達(dá)正確的選項(xiàng)是 A .A、在Java中類只允許單一繼承日在Java中一個類只能實(shí)現(xiàn)一個接口C在Java中一個類不能同時繼承一個類和實(shí)現(xiàn)一個接口D在Java中接口只允許單一繼承19、以下關(guān)于抽象類和接口的說法錯誤的選項(xiàng)是 E A、抽象類在Java語言中表示的是一種繼承關(guān)系,一個類只能使用一次繼承.但是一 個類卻可以實(shí)現(xiàn)多個接口.B 在抽象類中可以沒有抽象方法C 實(shí)現(xiàn)抽象類和接口的類必須實(shí)現(xiàn)其中的所有方法,除非它也是抽象類.接口中的 方法都不能被實(shí)現(xiàn)D 接口中定義的變量默認(rèn)是public s

溫馨提示

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

評論

0/150

提交評論