《java程序設(shè)計》期末復(fù)習(xí)題_第1頁
《java程序設(shè)計》期末復(fù)習(xí)題_第2頁
《java程序設(shè)計》期末復(fù)習(xí)題_第3頁
《java程序設(shè)計》期末復(fù)習(xí)題_第4頁
《java程序設(shè)計》期末復(fù)習(xí)題_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、2014-2015第二學(xué)期java程序設(shè)計復(fù)習(xí)題可能題型:選擇、填空、簡答、判斷目 錄練習(xí)一(兩類java程序)3練習(xí)二(數(shù)據(jù)類型)3練習(xí)三(運(yùn)算符與表達(dá)式)4練習(xí)四(條件,分支語句)5練習(xí)五(條件,分支語句)7練習(xí)六(控制結(jié)構(gòu)與循環(huán)體內(nèi)的跳轉(zhuǎn))9練習(xí)七(方法)10練習(xí)八(方法重載)10練習(xí)九(數(shù)組)11練習(xí)十 (繼承:類,屬性和方法的繼承,屬性隱藏和方法覆蓋,構(gòu)造函數(shù)的繼承,父類對象和子類對象的關(guān)系)12練習(xí)十一(多態(tài):抽象類和抽象方法,最終類和最終方法,接口)17練習(xí)十二(異常處理)18練習(xí)十三(雜)20練習(xí)十四(io)23練習(xí)十五(線程)24練習(xí)十六(網(wǎng)絡(luò))26練習(xí)十七(gui)28練習(xí)

2、十八(雜)30練習(xí)一(兩類java程序)1.Java是低級語言還是高級語言 (高級)2.Java是面向?qū)ο蟮某绦蛟O(shè)計語言嗎 (是)3. Java是編譯型的計算機(jī)語言還是解釋型的計算機(jī)語言 (解釋型) 4. Java語言的程序設(shè)計包含哪3個步驟 (編寫源程序,編譯源程序,解釋運(yùn)行編譯后形成的字節(jié)碼文件)5. Java源程序文件的后綴是什么 (.java) 6. Java源程序經(jīng)編譯后生成什么文件 其后綴是什么 (字節(jié)碼文件,.class) 7. Java程序有哪兩類 (java應(yīng)用程序,java小程序)8.類的定義由哪兩部分組成 (類頭和類體)9.方法的定義由哪兩部分組成 (方法頭和方法體)10

3、.一個Java源程序中可以有多個公共類(主類)嗎 (不能)11.一個Java源程序中可以有多個類嗎 若有多個類時,程序文件名是什么 (能,與公共類名一致)12. Java應(yīng)用程序(Application)的主類的類頭應(yīng)如何寫(public class 類名), 它的主方法的方法頭應(yīng)如何寫(public static void main(String args), Application 的入口在哪(main() 13.Java應(yīng)用程序(Application)的主類中一定要有主方法(main)嗎 ?是14.Java中的的字符使用什么編碼 (unicode)15. 在Java語言中,將源代碼翻譯

4、成_時產(chǎn)生的錯誤稱為編譯錯誤,而將程序在運(yùn)行中產(chǎn)生的錯誤稱為運(yùn)行錯誤.(字節(jié)碼)16. 為了使包sos中的所有類在當(dāng)前程序中可見,可以使用的語句是( A ).A)import sos.*; B)package sos.*;C)sos import; D)sos package;17. 下面關(guān)于封裝性的描述中,錯誤的是( d )。A封裝體包含屬性和行為 B被封裝的某些信息在外不可見C封裝提高了可重用性 D封裝體中的屬性和行為的訪問權(quán)限相同練習(xí)二(數(shù)據(jù)類型)1.以下的選項中能正確表示Java語言中的一個整型常量的是( B ).A) 12. B) -20 C) 1,000 D) 4 5 62.下列的

5、變量定義中,錯誤的是( A).A) int 6_a; B) float a; C) int i=Integer.MAX_VALUE; D) static int i=100; 3.下列的變量定義中,錯誤的是(A).A) int a;b; B) float a,b1=1.23f; C) char ch1='d',ch2=''' D) public int i=100,j=2,k; 4.下列的變量定義中,錯誤的是(D).A) int _a=123; B) long j=12345678900L; C) int m,n; D) static i=100; 5.

6、下列的變量定義中,正確的是(D).A) boolean b1="true" B) float x=6.6;C) byte i=200; D) double y;6.以下字符常量中不合法的是(C).A) '' B) '&' C) "k" D) '整'7.以下的選項中能正確表示Java語言中的一個整型常量的是( A ).A) Integer.MAX_VALUE B) 8.8F C) 2.0E16 D)true8.下列最終屬性(常量)i 的定義中,正確的是(C).A) static final doubl

7、e i; B) abstract final int i=8; C) final double i=3.14159; D) float i=1.2f; 9.以下的選項中能正確表示Java語言中的一個double型常量的是(C).A) Float.MIN_VALUE B) 1.8e-6F C) 2.0 D)'abcf'10.以下的變量定義語句中,合法的是(C).A) float $_*5= 3.4F; B) byte b1= 15678;C) double a =Double. MAX_VALUE; D) int _abc_ = 3721L; 11.以下字符常量中不合法的是(C)

8、.A) '|' B) ''' C) "n" D) '我12. Java語言中的浮點型數(shù)據(jù)根據(jù)數(shù)據(jù)存儲長度和數(shù)值精度的不同,進(jìn)一步分為哪兩種具體類型,各占二進(jìn)制的多少位 (float 32位,double 64位)13. Java的復(fù)合數(shù)據(jù)類型有那幾種 (類,數(shù)組和接口)14.在Java語言中,邏輯常量只有哪兩個值 (true,false)15.字符串 "'a'" 的長度是幾(即有幾個字符) (3個字符)16. Java語言中的邏輯變量可以和整型變量相互強(qiáng)制轉(zhuǎn)換嗎 (不能)17. 在程序中可對

9、用final修飾的變量的值進(jìn)行更改嗎 (不能)18Java的字符類型采用的是Unicode編碼方案,每個Unicode碼占用(B )個比特位。 A、8 B、16 C、32 D、64 練習(xí)三(運(yùn)算符與表達(dá)式)1.已定義a為int類型的變量.以下選項中,合法的賦值語句是( B ).A) a +1=2; B) a+=a*6; C) a=8.8f; D) int a=8;2.以下選項中的變量都已正確定義,不合法的表達(dá)式是(C ).A) a >= 4 = = b3; B)t=!false; C)t=(true|false); D)t=(2=3) true:false;3.以下變量均已正確定義并賦值

10、,下面符合Java語言語法的賦值語句是(A ).A) m = n>=5; B) m = k % c=h+y;C) j=t+ % 100; D) j = y > 2= x + 3;4.設(shè) i, j, k, m為已賦值的 int 型變量,下列表達(dá)式的結(jié)果屬于邏輯值的是( A).A) i=k & j+k >=m B) i+k C) m+ D) m=i+j5.變量a定義為int類型.以下選項中,合法的賦值語句是( B ).A) a +1=2; B) a+=1; C) a=8.8f; D) a=new int(8);6.若有定義int x = 13;則執(zhí)行完語句x %= 8;

11、后,x的值是(C ).A) 0 B) 1 C) 5 D) 87.以下選項中,合法的賦值語句是( B ).A) a = = 1; B) + i; C) a=a + 1= 5; D) !(+a!=b- -);8.若所用變量都已正確定義,以下選項中,非法的表達(dá)式是( C).A) a != 4|b= =1 B) 'a' % 3 C) 'a' = 1/2 D) 'A' + 329.若有定義int a = 2;則執(zhí)行完語句 a -= a * a; 后,a的值是( C).A) 0 B) 4 C) -2 D) 410.現(xiàn)有一變量聲明為boolean aa;下面賦

12、值語句中正確的是( A ).A) aa=false; B) aa=False; C) aa="true" D) aa=0;11. 下列程序段執(zhí)行后 b3 的結(jié)果是(D).boolean b1=true, b2=true, b3;b3= !b1 b1 :!b2;A) 0 B) 1 C) true D) false12. 設(shè)有定義 int i=123; long j=456; 下面賦值不正確的語句是(D).A) j=i; B) j=(long)i; C) i=(int)j; D) i=j;13.若以下變量均已正確定義并賦值,下面符合Java語言語法的語句是( A).A)b=a!

13、=7; B)a=7+b+c=9; C)i=12.3* %4; D)a=a+7=c+b;14.下列程序段執(zhí)行后t5的結(jié)果是(B ).int t1 = 9, t2 = 11, t3=8; int t4,t5;t4 = t1 > t2 t1 : t2+ t1; t5 = t4 > t3 t4 : t3;A) 8 B) 20 C) 11 D) 915.執(zhí)行下面程序段后,b, x, y的值分別是( D).int x=6,y=8; boolean b;b=x>y&&+x=-y;A)true , 6, 8 B)false , 7, 7 C)true, 7, 7 D)fals

14、e, 6, 8 16.執(zhí)行下列程序段后,m,x,y的值分別是( B).int x=2,y=4; boolean m; m=+x>y-;A)true , 2,4 B)false , 3,3 C) true, 3,3 D) false, 2,417.下面語句序列執(zhí)行后,a的值是(D ).int a=13; a%=a/5;A) 3 B) 13 C) 169 D) 118.設(shè)x,y,max,min均為int型變量,x,y已賦值.用三目條件運(yùn)算符求x,y的最大值和最小值,并分別賦給變量max和min,這兩個賦值語句分別是_和_.(max=x>y x:y; min=x<y?x:y;)練習(xí)

15、四(條件,分支語句)1.下列語句序列執(zhí)行后,m 的值是( C).int a=10, b=3, m=5;if( a=b ) m+=a; else m=+a*m;A) 15 B) 50 C) 55 D) 52.下列語句序列執(zhí)行后,x 的值是(d).int a=2, b=4, x=5;if( a<-b ) x*=a;A) 5 B) 20 C) 15 D) 103.下列語句序列執(zhí)行后,k 的值是(C ).int i=10, j=18, k=30;switch( j - i ) case 8 : k+; case 9 : k+=2;case 10: k+=3; default : k/=j;A)

16、31 B) 32 C) 2 D) 334.若a和b均是整型變量并已正確賦值,正確的switch語句是(D ).A) switch(a+b); . B) switch( a+b*3.0 ) . C) switch a . D) switch ( a%b ) . 5.下列語句序列執(zhí)行后,r 的值是( C).char ch='8' int r=10;switch( ch+1 ) case '7': r=r+3; case '8': r=r+5; case '9': r=r+6; break; default: r=r+8;A) 13 B

17、) 15 C) 16 D) 186.設(shè)int 型變量 a,b,float 型變量 x,y,char 型變量 ch 均已正確定義并賦值,正確的switch語句是(B ).A) switch (x + y) . B) switch ( ch + 1 ) . C) switch ch . D) switch ( a + b ); . 7.下列語句序列執(zhí)行后,k 的值是(D ).int x=6, y=10, k=5;switch( x%y ) case 0: k=x*y; case 6: k=x/y; case 12: k=x-y; default: k=x*y-x;A) 60 B) 5 C) 0 D

18、) 548.下列語句序列執(zhí)行后,r 的值是(B ).char ch='A' int r=6;switch( ch+5 ) case 'A': r=r+3; case 'B': r=r+5;case 'C': r-=6; break; default : r/=2;A) 11 B) 3 C) 2 D) 99.如果變量x已正確定義,寫出實現(xiàn)以下功能的語句:如果變量x是偶數(shù),則將其增加2._ ;.(if(x%2= =0) x+=2;)10. 設(shè)ch1, ch2是 char 型變量:if ( ch1 = 'a' ) if

19、( ch2 = 'b' ) System.out.print(" ch1='a' , ch2='b' "); elseSystem.out.print(" ch1!='a' ");System.out.println(" end ");問題: 1)若執(zhí)行前 ch1 的值為 'a', ch2 的值為 'c' 該程序段輸出是什么 (end) 2)若執(zhí)行前 ch1 的值為 'w', ch2 的值為 'b' 該程序段

20、輸出是什么 (ch1!='a'end)3)若執(zhí)行前 ch1 的值為 'a', ch2 的值為 'b' 該程序段輸出是什么 (ch1='a',ch2='b'end)練習(xí)五(條件,分支語句)1.下列語句序列執(zhí)行后,j 的值是( A ).int j=1;for( int i=5; i>0; i-=2 ) j*=i;A) 15 B) 1 C) 60 D) 02.以下由 for 語句構(gòu)成的循環(huán)執(zhí)行的次數(shù)是(B ).for ( int i = 0; true ; i+) ;A)有語法錯,不能執(zhí)行 B)無限次 C)執(zhí)行1次

21、 D)一次也不執(zhí)行3.下面語句執(zhí)行后,i 的值是(B).for( int i=0, j=1; j < 5; j+=3 ) i=i+j;A) 4 B) 5 C) 6 D) 74.下列語句序列執(zhí)行后,k的值是(D).int j=8, k=15;for( int i=2; i!=j; i+ ) j-=2; k+; A) 18 B) 15 C) 16 D) 175.下列語句序列執(zhí)行后,k 的值是(B).int m=3, n=6, k=0;while( (m+) < ( - n) ) +k;A) 0 B) 1 C) 2 D) 36.下列語句序列執(zhí)行后,i 的值是( D).int s=1,i=

22、1;while( i<=4 ) s*=i;i+;A) 6 B) 4 C) 24 D) 57.下列語句序列執(zhí)行后,j 的值是( C ).int j=8, i=6;while( i >4 ) i-=2;- -j;A) 5 B) 6 C) 7 D) 88.下列語句序列執(zhí)行后,j 的值是( B ).int j=9, i=6;while( i- >3 ) -j;A) 5 B) 6 C) 7 D) 89.下列語句序列執(zhí)行后,j 的值是(D).int j=3, i=2;while( -i!=i/j ) j=j+2;A) 2 B) 4 C) 6 D) 510. 若有循環(huán):int x=5,y=

23、20;do y-=x; x+=2; while(x<Y);則循環(huán)體將被執(zhí)行(A ).A) 2次 B) 1次 C) 0次 D) 3次11.下列語句序列執(zhí)行后,i的值是(D).int i=10;do i/=2; while( i-> 1 );A) 1 B) 5 C) 2 D) -112.下列語句序列執(zhí)行后,i的值是(C ).int i=10;do i-=2; while( i>6 );A) 10 B) 8 C) 6 D) 413.下列語句序列執(zhí)行后,i的值是(D).int i=16;do i/=2; while( i > 3 );A) 16 B) 8 C) 4 D) 214

24、.以下由do-while語句構(gòu)成的循環(huán)執(zhí)行的次數(shù)是(B).int k = 0;do +k; while ( k < 1 );A)一次也不執(zhí)行 B)執(zhí)行1次 C)無限次 D)有語法錯,不能執(zhí)行 15. 若有循環(huán):int x=5,y=20;do y-=x; x+; while(+x<-y);則循環(huán)體將被執(zhí)行(C ).A)0次 B)1次 C)2次 D)3次16.下面是一個java應(yīng)用程序(Application),它的功能是在屏幕上輸出26個小寫英文字母,其中每個字母相隔一個制表符,請完成程序填空.(class (c+)+"t" 或 (c+)+'t')

25、public _ Class1public static void main( String args ) char c='a'for (int i=1;i<=26;i+) System.out.print(_); 17.下面是一個java應(yīng)用程序(Application),它的功能是計算 s=1+2+3+.+10 ,請完成程序填空.(class i)public _ Class1public static void main( String args )int s=0;for (int i=1;i<=10;i+)s+=_;System.out.println(&q

26、uot;s="+s);18.下面是一個java Application 的主類的定義,其功能是輸出乘法口訣表第一列,請完成程序填空.(i<=9 j*i) import java.io.*;public class MyClasspublic static void main(String args)int j=1;for(int i=1; _; i+)System.out.println(i+"*"+j+"="+_); 練習(xí)六(控制結(jié)構(gòu)與循環(huán)體內(nèi)的跳轉(zhuǎn))1.結(jié)構(gòu)化程序設(shè)計的三種基本流程控制結(jié)構(gòu)是:_,_,_. (略)2. 以下語句中能構(gòu)成

27、分支的語句是(B).A) for 語句 B) if 語句 C) continue 語句 D) 方法調(diào)用語句3. 以下語句中能構(gòu)成多分支的語句是( C ).A) for 語句 B) while 語句 C) switch 語句 D) do - while 語句4. 以下語句中能構(gòu)成多分支的語句是( C ).A)for語句 B)while語句C)if_else語句的嵌套 D)do_while語句5. 以下語句中是循環(huán)語句的是( D ).A)break 語句 B)switch 語句 C)if 語句 D)do - while 語句6. 以下語句中不能構(gòu)成循環(huán)的語句是( C ).A) for 語句 B)

28、while 語句 C) switch 語句 D) do_while 語句7.能從循環(huán)語句的循環(huán)體中跳出的語句是(B).A)for語句 B)break語句 C) continue語句 D)return語句8.閱讀程序后回答問題 .public class ContinueTest public static void main( String args)char c='i'for (int n=6; n < 11; n+ )if ( n = 8 ) continue;System.out.print("t"+(c+);問題:1)程序的輸出結(jié)果是什么 (i

29、 j k l)2)若將if中的continue語句替換為break語句,輸出結(jié)果是什么 (i j)練習(xí)七(方法)1.以下方法m的功能是求兩參數(shù)之積的整數(shù)部分. (return (int)(x*y)int m ( float x, float y ) _; 2. 方法可以沒有返回值嗎 可以有多個返回值嗎 (可以;不能)3. 一個方法如果沒有返回值,方法頭定義中的返回值類型為何 (void)4. 一個方法或一個復(fù)合語句內(nèi)定義的變量是否可以在方法外或復(fù)合語句外使用 這種變量稱為什么變量 (不能;局部變量)5. 采用_的程序設(shè)計原則,使程序結(jié)構(gòu)清晰簡單,設(shè)計容易,有助于軟件可靠性的提高.(模塊化)6.

30、下面方法的功能是判斷一個整數(shù)是否為偶數(shù),將程序補(bǔ)充完整.(boolean true)public _ isEven(int a) if(a%2=0)return _;else return false;練習(xí)八(方法重載)1.同一個類中多個方法具有相同的方法名,不同的_稱為方法的重載.(參數(shù)列表)2.在某個類中存在一個方法:void getSort(int x),以下能作為這個方法的重載的聲明的是(C).A)public getSort(float x) B)int getSort(int y)C)double getSort(int x,int y) D)void get(int x,int

31、y)3.在某個類中存在一個方法:void sort(int x),以下不能作為這個方法的重載的聲明的是(B).A)public float sort(float x) B)int sort(int y)C)double sort(int x,int y) D)void sort(double y)4. 為了區(qū)分類中重載的同名的不同方法,要求( A).A) 采用不同的形式參數(shù)列表 B) 返回值類型不同 C) 調(diào)用時用類名或?qū)ο竺銮熬Y D) 參數(shù)名不同5. 重載的方法可以通過它們的返回值類型的不同來區(qū)分嗎 (不能)6. 編譯程序如何區(qū)分重載方法的調(diào)用 (根據(jù)參數(shù)列表不同來區(qū)分)練習(xí)九(數(shù)組)1.

32、 在一個應(yīng)用程序中定義了數(shù)組a:int a=1,2,3,4,5,6,7,8,9,10;,為了打印輸出數(shù)組a的最后一個數(shù)組元素,下面正確的代碼是( B).A) System.out.println(a10); B) System.out.println(a9);C) System.out.println(aa.length); D) System.out.println(a(8);2.下面關(guān)于數(shù)組定義語句不正確的是( D ).A)int a1,a2; B)int a0 =11,2,30,84,5;C)double d=new double8; D)float f =new 2.0f,3.5f,5

33、.6f,7.8f;3.設(shè)有定義語句int a =3,9,-9,-2,8; 則以下對此語句的敘述錯誤的是(C ).A) a數(shù)組有5個元素 B) 數(shù)組中的每個元素是整型C) a的值為3 D) 對數(shù)組元素的引用aa.length-1是合法的4.設(shè)有定義語句int a =66,88,99; 則以下對此語句的敘述錯誤的是(C).A) 定義了一個名為a的一維數(shù)組 B) a數(shù)組有3個元素C) a數(shù)組的元素的下標(biāo)為13 D)數(shù)組中的每個元素是整型5. 為了定義三個整型數(shù)組a1,a2,a3,下面聲明正確的語句是( B ).A)intArray a1,a2; int a3 =1,2,3,4,5;B)int a1,

34、a2; int a3 =1,2,3,4,5;C)int a1,a2 ; int a3=1,2,3,4,5;D)int a1,a2; int a3=(1,2,3,4,5);6.設(shè) i,j 為int型變量名,a 為int型數(shù)組名,以下選項中,正確的賦值語句是(B).A) i = i + 2 B) a0 = 7; C) i+ - -j; D) a(0) = 66;7. 若已定義byte x=11,22,33,-66;其中0k3,則對x數(shù)組元素錯誤的引用是( C).A) x5-3 B) xk C) xk+5 D) x08.設(shè)有定義 int a=new int4; ,a的所有數(shù)組元素是(B).A) a0

35、, a1, a2, a3 B) a0, a1, a2, a3C) a1, a2, a2, a4 D) a0, a1, a2, a3, a4 9.設(shè)有整型數(shù)組的定義:int a =new int8; ,則a.length的值為_.(8)10. 定義數(shù)組,需要完成以下三個步驟,即:_,_和_ .(聲明數(shù)組;創(chuàng)建數(shù)組空間;初始化)11. 在Java語言中,所有的數(shù)組都有一個_屬性,這個屬性存儲了該數(shù)組的元素的個數(shù)(數(shù)組長度).(length)12. 若有定義 int a=new int8; 則a的數(shù)組元素中第7個元素和第8個元素的下標(biāo)分別是_和_.(6 7)13.定義一個整型數(shù)組y,它有5個元素分別

36、是1,2,3,4,5.用一個語句實現(xiàn)對數(shù)組y的聲明,創(chuàng)建和賦值:_;.(int y=1,2,3,4,5;)14. 數(shù)組一定占用連續(xù)的內(nèi)存空間嗎 (是)15.下面是一個類的定義,請將其補(bǔ)充完整.(class static)_ A String s;_ int a=666;A(String s1) s=s1; static int geta( ) return a; 22.閱讀程序,回答問題.public class Test52String static str1="Hello, Java world! t"String static str2="Hello, st

37、udents! "public static void main(String args) System.out.print(str1); System.out.println(str2); 問題:1)這是哪種形式的 java 程序 (java應(yīng)用程序)2)程序的輸出是什么 輸出的結(jié)果在 Applet 窗口中嗎 (Hello, Java world! Hello, students! 不在)練習(xí)十 (繼承:類,屬性和方法的繼承,屬性隱藏和方法覆蓋,構(gòu)造函數(shù)的繼承,父類對象和子類對象的關(guān)系)1. Java語言的類間的繼承關(guān)系是( B ).A) 多重的 B) 單重的 C) 線程的 D)

38、不能繼承 2. 以下關(guān)于Java語言繼承的說法正確的是( C ).A)Java中的類可以有多個直接父類 B)抽象類不能有子類C)Java中的接口支持多繼承 D)最終類可以作為其它類的父類3. 下面是有關(guān)子類繼承父類構(gòu)造函數(shù)的描述,其中正確的是( B).A) 如果子類沒有定義構(gòu)造函數(shù),則子類無構(gòu)造函數(shù)B) 子類構(gòu)造函數(shù)必須通過super關(guān)鍵字調(diào)用父類的構(gòu)造函數(shù)C)子類必須通過this關(guān)鍵字調(diào)用父類的構(gòu)造函數(shù)D)子類無法繼承父類的構(gòu)造函數(shù)4. 現(xiàn)有兩個類A,B,以下描述中表示B繼承自A的是(D).A) class A extends B B) class B implements AC) clas

39、s A implements B D) class B extends A5. 子類可以繼承父類的_成員(非私有).構(gòu)造函數(shù)也能被繼承和重載.6. 如果子類中的某個變量的變量名與它的父類中的某個變量完全一樣,則稱子類中的這個變量_了父類的同名變量.(隱藏)8. 如果子類中的某個方法的名字,返回值類型和_與它的父類中的某個方法完全一樣,則稱子類中的這個方法覆蓋了父類的同名方法.(參數(shù)列表) 9. 抽象,封裝,_和多態(tài)是Java語言的四大特性.(繼承)11. Java 僅支持類間的_重繼承.(單重)12. 子類的成員變量能與其父類的成員變量同名嗎 (能)13. 什么是方法覆蓋 (子類重新定義繼承自

40、父類的同名方法,使之實現(xiàn)與父類方法不同的功能;方法覆蓋要求子類方法頭定義必須與父類方法頭定義完全一樣.)14. 一個子類可以重新定義從父類那里繼承來的同名方法.但是,允許它們有不同類型的返回值嗎 (不能)15. 子類對象如何引用被它隱藏了的父類的屬性和調(diào)用被它覆蓋了的父類的方法 (使用super關(guān)鍵字做前綴)16. 子類的對象能直接向其父類對象賦值嗎 反之呢 子類對象一定是父類的對象嗎 (能;不能;是;)18. java中,一個子類可以有多個父類嗎 可以為一個(父)類定義多個子類嗎 (不能;可以)19. 保留字 this 代表什么 (this表示類當(dāng)前對象本身)21.下面是一個類的定義,完成程

41、序填空.(Youwrite this.x=x;)public class Youwrite int x;_( ) x=0;Youwrite ( int x) _; 22.現(xiàn)有類說明如下,請回答問題:public class AString str1=" Hello! t"String str2=" How are you "public String toString( ) return str1+str2; public class B extends AString str1="bb,Bill."public String toS

42、tring( ) return super.str1+str1; 問題:1)類A和類B是什么關(guān)系 (繼承關(guān)系)2)類A和類B都定義了str1屬性和方法toString( ), 這種現(xiàn)象分別稱為什么 (屬性的隱藏;方法的覆蓋)3)若a是類A的對象,則a.toString( )的返回值是什么 (Hello! How are you )4)若b是類B的對象,則b.toString( )的返回值是什么 (Hello,Bill.)23.現(xiàn)有一個類定義如下,請回答問題:class EmployeeString name;int age;double wage;static int No=0;Employe

43、e(String a1,int a2,double a3) name=a1; age=a2; wage=a3;No+; 在使用該類時,已使用下面語句生成了該類的對象:Employee e1,e2;e1=new Employee("王勁",26,6300);e2=new Employee("張山",30,3800);問題:1),e2.age,e2.wage的值各是什么 (張山;30;3800.0)2)生成對象e1,e2后,e1.No值為多少 能否通過類名做前綴引用屬性No (2; 能)25.閱讀程序,回答問題.public class Inh

44、eritTest1public static void main (String args)A aa; B bb;aa=new A( ); bb=new B( );aa.show( ); bb.show();class Aint a=1;double d=2.0;void show( ) System.out.println("Class A: "+"ta="+a +"td="+d); class B extends Afloat a=3.0f; String d="Java program." int b=4;v

45、oid show( ) System.out.println("Class A: "+"ta="+super.a +"td="+super.d);super.show( ); System.out.println("Class B: "+"ta="+a +"td="+d+"tb="+b);問題:1)這是哪一類java程序 (java應(yīng)用程序)2)類A和類B是什么關(guān)系 (類B是類A的子類)3)按程序輸出的格式寫出程序運(yùn)行后的結(jié)果.(程序運(yùn)行結(jié)果如下:Clas

46、s A: a=1 d=2.0Class A: a=1 d=2.0Class A: a=1 d=2.0Class B: a=3.0 d=Java program. b=4 )26.現(xiàn)有類說明如下,請回答問題:class Aint x=10;int getA()return x;class B extends Aint x=100;int getB()return x;問題:1)類B是否能繼承類A的屬性x (能)2)若b是類B的對象,則b.getB()的返回值是什么 (100)3)若b是類B的對象,則b.getA()的返回值是什么 (10)4)類A和類B都定義了x屬性,這種現(xiàn)象稱為什么 (屬性的隱

47、藏)27.有如下源程序,請回答問題:class A String s="class A" class B extends A String s="class B" public class TypeConvertpublic static void main(String args)B b1,b2=new B();A a1,a2;a1=(A)b2;a2=b2;System.out.println(a1.s);System.out.println(a2.s);b1=(B)a1;System.out.println(b1.s);System.out.prin

48、tln(b2.s);問題: 該程序的四行輸出各是什么 (class Aclass Aclass Bclass B)28.現(xiàn)有類說明如下,請回答問題:public class Aint x=888;String str="I like: "public String toString() return str+x; public class B extends AString x="java"public String toString() return str+x+" and "+super.x; 問題:1)類A和類B是什么關(guān)系 (類

49、B是類A的子類)2)類A和類B都定義了方法toString(),這種現(xiàn)象稱為什么 (方法的覆蓋)3)若a是類A的對象,則a.toString( )的返回值是什么 (I like: 888)4)若b是類B的對象,則b.toString( )的返回值是什么 I like:java and 88829下面的是關(guān)于類及其修飾符的一些描述,不正確的是:( b )。 A、abstract類只能用來派生子類,不能用來創(chuàng)建abstract類的對象。 B、final類不但可以用來派生子類,也可以用來創(chuàng)建final類的對象。 C、abstract不能與final同時修飾一個類。 D、abstract方法必須在ab

50、stract類中聲明,但abstract類定義中可以沒有abstract方法。30設(shè)有下面兩個賦值語句: a = Integer.parseInt(“1024”); b = Integer.valueOf(“1024”).intValue(); 下述說法正確的是( d )。 A、a是整數(shù)類型變量,b是整數(shù)類對象。 B、a是整數(shù)類對象,b是整數(shù)類型變量。 C、a和b都是整數(shù)類對象并且它們的值相等。 D、a和b都是整數(shù)類型變量并且它們的值相等。31. class X Y b = new Y();X() System.out.print("X"); class Y Y() Sys

51、tem.out.print("Y"); public class Z extends X Y y = new Y(); Z() System.out.print("Z"); public static void main(String args) new Z();A.ZB.YZC.XYZD.YXYZ答案D32. 6關(guān)于實例方法和類方法,以下描述正確的是: (D)A. 實例方法只能訪問實例變量B. 類方法既可以訪問類變量,也可以訪問實例變量C. 類方法只能通過類名來調(diào)用D. 實例方法只能通過對象來調(diào)用 33. 下列關(guān)于繼承的說法哪個是正確的? B A子類只

52、繼承父類public方法和屬性; B子類繼承父類的非私有屬性和方法; C子類只繼承父類的方法,而不繼承父類的屬性; D子類將繼承父類的所有的屬性和方法。34. 你想要增加一個功能給wait()方法。你將如何來做? da. 重載wait()方法。b. 覆蓋wait()方法。c. 不能增加功能,因為他是Object類的成員,而Object類是所有類的基類。d. 不能增加任何功能,因為wait()已經(jīng)被最終定義。練習(xí)十一(多態(tài):抽象類和抽象方法,最終類和最終方法,接口)1. 下列選項中,用于定義接口的關(guān)鍵字是( A).A)interface B) implem

53、ents C) abstract D) class2. 下列選項中,用于實現(xiàn)接口的關(guān)鍵字是( B).A)interface B) implements C) abstract D) class3. 抽象方法只有方法頭,沒有_. (方法體)4. Java 語言的接口是特殊的類,其中包含_常量和_方法.(static(靜態(tài)) ; abstract(抽象)5. 接口中所有屬性均為_,_和_的.(public,static,final)6. 用那個關(guān)鍵字定義抽象類和抽象方法 (abstract)7. 抽象類只能做為父類嗎 (也可以包含抽象方法,做為抽象子類)8. 可以定義抽象類的對象嗎 (不能)9.

54、抽象方法能被繼承嗎 (能)10. 抽象方法只能存在于抽象類中嗎 (是;也可以存在在接口中)11. 聲明為final的方法能在子類中重新定義嗎 (不能)12 用那個關(guān)鍵字定義最終類和最終方法 (final)13. 最終類能做為父類嗎 (不能)14. 最終方法能被繼承嗎 (不能)15. 最終方法只能存在于最終類中嗎 (不一定)16. 聲明為 static和private 的方法是final的嗎 (不是)17. 接口中所有方法均為抽象方法嗎 (是)18. 接口中所有方法均為public的嗎 (是)19. abstract 和 final能同時修飾一個類嗎 (不能)20.下面是定義一個接口ITF的程序,完成程序填空.(interface abstract )public _ ITFpublic static final double PI=Math.PI;public _ doubl e area(double a, double b);21.下面是定義一個接口A的程序,完成程序填空.(final "" )public interface Apu

溫馨提示

  • 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

提交評論