




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、習(xí)題解答習(xí)題1(第1章)一、 問(wèn)答題1Java語(yǔ)言的主要貢獻(xiàn)者是誰(shuí)?2開(kāi)發(fā)Java應(yīng)用程序需要經(jīng)過(guò)哪些主要步驟?3Java源文件是由什么組成的?一個(gè)源文件中必須要有public類嗎?4如果JDK的安裝目錄為D:jdk,應(yīng)當(dāng)怎樣設(shè)置path和classpath的值?5Java源文件的擴(kuò)展名是什么?Java字節(jié)碼的擴(kuò)展名是什么?6如果Java應(yīng)用程序主類的名字是Bird,編譯之后,應(yīng)當(dāng)怎樣運(yùn)行該程序?7有哪兩種編程風(fēng)格,在格式上各有怎樣的特點(diǎn)?1James Gosling2需3個(gè)步驟:1) 用文本編輯器編寫源文件。 2) 使用javac編譯源文件,得到字節(jié)碼文件。3) 使用解釋器運(yùn)行程序。3源文件
2、由若干個(gè)類所構(gòu)成。對(duì)于應(yīng)用程序,必須有一個(gè)類含有public static void main(String args)的方法,含有該方法的類稱為應(yīng)用程序的主類。不一定,但至多有一個(gè)public類。4set classpath=D:jdkjrelibrt.jar;.;5. java和class6. java Bird 7. 獨(dú)行風(fēng)格(大括號(hào)獨(dú)占行)和行尾風(fēng)格(左大擴(kuò)號(hào)在上一行行尾,右大括號(hào)獨(dú)占行)二、選擇題1B。2D。 1下列哪個(gè)是JDK提供的編譯器?A)java.exeB)javac.exeC)javap.exeD)javaw.exe2下列哪個(gè)是Java應(yīng)用程序主類中正確的main方法?A)
3、public void main (String args )B)static void main (String args )C)public static void Main (String args)D)public static void main (String args )三、閱讀程序閱讀下列Java源文件,并回答問(wèn)題。public class Person void speakHello() System.out.print("您好,很高興認(rèn)識(shí)您");System.out.println(" nice to meet you"); clas
4、s Xiti public static void main(String args) Person zhang = new Person(); zhang.speakHello(); (a)上述源文件的名字是什么?(b)編譯上述源文件將生成幾個(gè)字節(jié)碼文件?這些字節(jié)碼文件的名字都是什么?(c)在命令行執(zhí)行java Person得到怎樣的錯(cuò)誤提示?執(zhí)行java xiti得到怎樣的錯(cuò)誤提示?執(zhí)行java Xiti.class得到怎樣的錯(cuò)誤提示?執(zhí)行java Xiti得到怎樣的輸出結(jié)果?1(a)Person.java。(b)兩個(gè)字節(jié)碼,分別是Person.class和Xiti.class。(c)得到
5、“NoSuchMethodError”,得到“NoClassDefFoundError: Xiti/class”,得到“您好,很高興認(rèn)識(shí)您 nice to meet you”習(xí)題2(第2章)一、問(wèn)答題1什么叫標(biāo)識(shí)符?標(biāo)識(shí)符的規(guī)則是什么?false是否可以作為標(biāo)識(shí)符。2什么叫關(guān)鍵字?true和false是否是關(guān)鍵字?請(qǐng)說(shuō)出6個(gè)關(guān)鍵字。3Java的基本數(shù)據(jù)類型都是什么?4float型常量和double型常量在表示上有什么區(qū)別?5. 怎樣獲取一維數(shù)組的長(zhǎng)度,怎樣獲取二維數(shù)組中一維數(shù)組的個(gè)數(shù)。1用來(lái)標(biāo)識(shí)類名、變量名、方法名、類型名、數(shù)組名、文件名的有效字符序列稱為標(biāo)識(shí)符。標(biāo)識(shí)符由字母、下劃線、美元符號(hào)
6、和數(shù)字組成,第一個(gè)字符不能是數(shù)字。false不是標(biāo)識(shí)符。2關(guān)鍵字就是Java語(yǔ)言中已經(jīng)被賦予特定意義的一些單詞,不可以把關(guān)鍵字作為名字來(lái)用。true和false不是關(guān)鍵字。6個(gè)關(guān)鍵字:class implements interface enum extends abstract。3boolean,char,byte,short,int,long,float,double。4float常量必須用F或f為后綴。double常量用D或d為后綴,但允許省略后綴。5一維數(shù)組名.length。二維數(shù)組名.length。二、選擇題2下列哪三項(xiàng)是正確的float變量的聲明?adf A. float foo
7、= -1; B. float foo = 1.0; C. float foo = 42e1; D. float foo = 2.02f; E. float foo = 3.03d; F. float foo = 0x0123; 3下列哪一項(xiàng)敘述是正確的?bA. char型字符在Unicode表中的位置范圍是0至32767B. char型字符在Unicode表中的位置范圍是0至65535C. char型字符在Unicode表中的位置范圍是0至65536D. char型字符在Unicode表中的位置范圍是-32768至327674以下哪兩項(xiàng)是正確的char型變量的聲明?beA. char ch =
8、 "R"B. char ch = ''C. char ch = 'ABCD'D. char ch = "ABCD"E. char ch = 'ucafe'F. char ch = 'u10100'5下列程序中哪些【代碼】是錯(cuò)誤的?2345public class E public static void main(String args) int x = 8; byte b = 127; /【代碼1】 b = x; /【代碼2】 x = 12L; /【代碼3】 long y=8.0; /【代
9、碼4】 float z=6.89 ; /【代碼5】 6對(duì)于int a = new int3;下列哪個(gè)敘述是錯(cuò)誤的?bA. a.length的值是3。B. a1的值是1。C. a0的值是0。D. aa.length-1的值等于a2的值。1C。2ADF。3B。4BE。5【代碼2】【代碼3】【代碼4】【代碼5】。6B。三、閱讀或調(diào)試程序1屬于操作題,解答略。2屬于操作題,解答略。3屬于操作題,解答略。4.下列程序標(biāo)注的【代碼1】,【代碼2】的輸出結(jié)果是什么?public class E public static void main (String args ) long a = 1,2,3,4;
10、long b = 100,200,300,400,500; b = a; System.out.println("數(shù)組b的長(zhǎng)度:"+b.length); /【代碼1】 System.out.println("b0="+b0); /【代碼2】 5.下列程序標(biāo)注的【代碼1】,【代碼2】的輸出結(jié)果是什么?public class E public static void main(String args) int a=10,20,30,40,b=1,2,4,5,6,7; b0 = a; b01 = b13; System.out.println(b03); /
11、【代碼1】 System.out.println(a1); /【代碼2】 4【代碼1】:4?!敬a2】:b0=1。5【代碼1】:40。【代碼2】:7四、編寫程序1編寫一個(gè)應(yīng)用程序,給出漢字你、我、他在Unicode表中的位置。2編寫一個(gè)Java應(yīng)用程序,輸出全部的希臘字母。1. public class E public static void main(String args) System.out.println(int)'你'); System.out.println(int)'我'); System.out.println(int)'他'
12、); 2. public class E public static void main (String args ) char cStart='',cEnd='' for(char c=cStart;c<=cEnd;c+) System.out.print(" "+c); 習(xí)題3(第3章)一、 問(wèn)答題1關(guān)系運(yùn)算符的運(yùn)算結(jié)果是怎樣的數(shù)據(jù)類型?2if語(yǔ)句中的條件表達(dá)式的值是否可以是int型?3while語(yǔ)句中的條件表達(dá)式的值是什么類型?4switch語(yǔ)句中必須有default選項(xiàng)碼?5在while語(yǔ)句的循環(huán)體中,執(zhí)行break語(yǔ)句的效果是
13、什么?6可以用for語(yǔ)句代替while語(yǔ)句的作用嗎?1boolean2不可以3boolean4. 不是必須的5結(jié)束while語(yǔ)句的執(zhí)行6可以二、選擇題1下列哪個(gè)敘述是正確的?aA. 5.0/2+10的結(jié)果是double型數(shù)據(jù)。B(int)5.8+1.0的結(jié)果是int型數(shù)據(jù)。C'蘋'+ '果'的結(jié)果是char型數(shù)據(jù)。D(short)10+'a'的結(jié)果是short型數(shù)據(jù)。2用下列哪個(gè)代碼替換程序標(biāo)注的【代碼】會(huì)導(dǎo)致編譯錯(cuò)誤?cAm->0 Bm+>0 Cm = 0 Dm>100&&truepublic class E
14、public static void main (String args ) int m=10,n=0; while(【代碼】) n+; 3假設(shè)有int x=1;以下哪個(gè)代碼導(dǎo)致“可能損失精度,找到int需要char”這樣的編譯錯(cuò)誤。 cAshort t=12+'a' Bchar c ='a'+1; Cchar m ='a'+x; Dbyte n ='a'+1;1A。 2C。 3C。三、閱讀程序1下列程序的輸出結(jié)果是什么?public class E public static void main (String args ) c
15、har x='你',y='e',z='吃' if(x>'A') y='蘋' z='果' else y='酸' z='甜' System.out.println(x+","+y+","+z); 2.下列程序的輸出結(jié)果是什么?public class E public static void main (String args ) char c = '0' for(int i=1;i<=4;i+) swi
16、tch(i) case 1: c = 'J' System.out.print(c); case 2: c = 'e' System.out.print(c); break; case 3: c = 'p' System.out.print(c); default: System.out.print("好"); 3.下列程序的輸出結(jié)果是什么?public class E public static void main (String args) int x = 1,y = 6; while (y->0) x-; Syst
17、em.out.print("x="+x+",y="+y); x=0,y=5x=-1,y=4x=-2,y=3x=-3,y=2x=-4,y=1x=-5,y=0x=-5,y=-11你,蘋,甜2Jeep好好3x=-5,y=-1四、編程序題1編寫應(yīng)用程序求1!+2!+10!。2編寫一個(gè)應(yīng)用程序求100以內(nèi)的全部素?cái)?shù)。3分別用do-while和for循環(huán)計(jì)算1+1/2!+1/3!+1/4! 的前20項(xiàng)和。4一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為“完數(shù)”。編寫應(yīng)用程序求1000之內(nèi)的所有完數(shù)。5編寫應(yīng)用程序,使用for循環(huán)語(yǔ)句計(jì)算8+88+888前10項(xiàng)之和。6
18、編寫應(yīng)用程序,輸出滿足1+2+3+n<8888的最大正整數(shù)n。1public class Xiti1 public static void main(String args) double sum=0,a=1;int i=1; while(i<=20) sum=sum+a; i+; a=a*i; System.out.println("sum="+sum); 2public class Xiti2 public static void main(String args) int i,j; for(j=2;j<=100;j+) for(i=2;i<=j
19、/2;i+) if(j%i=0) break; if(i>j/2) System.out.print(" "+j); 3class Xiti3 public static void main(String args) double sum=0,a=1,i=1; do sum=sum+a; i+; a=(1.0/i)*a; while(i<=20); System.out.println("使用do-while循環(huán)計(jì)算的sum="+sum); for(sum=0,i=1,a=1;i<=20;i+) a=a*(1.0/i); sum=sum
20、+a; System.out.println("使用for循環(huán)計(jì)算的sum="+sum); 4public class Xiti4 public static void main(String args) int sum=0,i,j; for(i=1;i<=1000;i+) for(j=1,sum=0;j<i;j+) if(i%j=0) sum=sum+j; if(sum=i) System.out.println("完數(shù):"+i); 5public class Xiti5 public static void main(String arg
21、s) int m=8,item=m,i=1; long sum=0; for(i=1,sum=0,item=m;i<=10;i+) sum=sum+item; item=item*10+m; System.out.println(sum); 6 public class Xiti6 public static void main(String args) int n=1; long sum=0; while(true) sum=sum+n; n+; if(sum>=8888) break; System.out.println("滿足條件的最大整數(shù):"+(n-1
22、); 習(xí)題4(第4章)一、 問(wèn)答題1面向?qū)ο笳Z(yǔ)言有哪三個(gè)特性?2類名應(yīng)當(dāng)遵守怎樣的編程風(fēng)格?3變量和方法的名字應(yīng)當(dāng)遵守怎樣的編程風(fēng)格?4類體內(nèi)容中聲明成員變量是為了體現(xiàn)對(duì)象的屬性還是行為?5類體內(nèi)容中定義的非構(gòu)造方法是為了體現(xiàn)對(duì)象的屬性還是行為?6什么時(shí)候使用構(gòu)造方法?構(gòu)造方法有類型嗎?7類中的實(shí)例變量在什么時(shí)候會(huì)被分配內(nèi)存空間?8什么叫方法的重載?構(gòu)造方法可以重載嗎?9類中的實(shí)例方法可以操作類變量(static變量)嗎?類方法(static方法)可以操作實(shí)例變量嗎?可以。不可以。10類中的實(shí)例方法可以用類名直接調(diào)用嗎?8一個(gè)類中可以有多個(gè)方法具有相同的名字,但這些方法的參數(shù)必須不同,即或者是
23、參數(shù)的個(gè)數(shù)不同,或者是參數(shù)的類型不同。可以。9 10不可以。11簡(jiǎn)述類變量和實(shí)例變量的區(qū)別。12this關(guān)鍵字代表什么?this可以出現(xiàn)在類方法中嗎?1. 封裝、繼承和多態(tài)。2當(dāng)類名由幾個(gè)單詞復(fù)合而成時(shí),每個(gè)單詞的首字母使用大寫。3名字的首單詞的首字母使用小寫,如果變量的名字由多個(gè)單詞組成,從第2個(gè)單詞開(kāi)始的其它單詞的首字母使用大寫。4屬性5行為6用類創(chuàng)建對(duì)象時(shí)。沒(méi)有類型7用類創(chuàng)建對(duì)象時(shí)。8一個(gè)類中可以有多個(gè)方法具有相同的名字,但這些方法的參數(shù)必須不同,即或者是參數(shù)的個(gè)數(shù)不同,或者是參數(shù)的類型不同。可以。9可以。不可以。10不可以。11一個(gè)類通過(guò)使用new運(yùn)算符可以創(chuàng)建多個(gè)不同的對(duì)象,不同的對(duì)
24、象的實(shí)例變量將被分配不同的內(nèi)存空間。所有對(duì)象的類變量都分配給相同的一處內(nèi)存,對(duì)象共享類變量。12代表調(diào)用當(dāng)前方法的對(duì)象。不可以。二、選擇題1下列哪個(gè)敘述是正確的? bA. Java應(yīng)用程序由若干個(gè)類所構(gòu)成,這些類必須在一個(gè)源文件中。B. Java應(yīng)用程序由若干個(gè)類所構(gòu)成,這些類可以在一個(gè)源文件中,也可以分布在若干個(gè)源文件中,其中必須有一個(gè)源文件含有主類。C. Java源文件必須含有主類。D. Java源文件如果含有主類,主類必須是public類。2下列哪個(gè)敘述是正確的? dA. 成員變量的名字不可以和局部變量的相同。B. 方法的參數(shù)的名字可以和方法中聲明的局部變量的名字相同。C. 成員變量沒(méi)有
25、默認(rèn)值。D. 局部變量沒(méi)有默認(rèn)值。3對(duì)于下列Hello類,哪個(gè)敘述是正確的?dA. Hello類有2個(gè)構(gòu)造方法。B. Hello類的int Hello()方法是錯(cuò)誤的方法。C. Hello類沒(méi)有構(gòu)造方法。D. Hello無(wú)法通過(guò)編譯,因?yàn)槠渲械膆ello方法的方法頭是錯(cuò)誤的(沒(méi)有類型)。class Hello Hello(int m) int Hello() return 20; hello() 4對(duì)于下列Dog類,哪個(gè)敘述是錯(cuò)誤的?dA. Dog(int m)與Dog(double m)互為重載的構(gòu)造方法。B. int Dog(int m)與void Dog(double m)互為重載的非構(gòu)
26、造方法。C. Dog類只有兩個(gè)構(gòu)造方法,而且沒(méi)有無(wú)參數(shù)的構(gòu)造方法。D. Dog類有3個(gè)構(gòu)造方法。class Dog Dog(int m) Dog(double m) int Dog(int m) return 23; void Dog(double m) 構(gòu)造方法是一種特殊的方法,與一般的方法不同是:1.構(gòu)造方法的名字必須與定義他的類名完全相同,沒(méi)有返回類型,甚至連void也沒(méi)有。2.構(gòu)造方法的調(diào)用是在創(chuàng)建一個(gè)對(duì)象時(shí)使用new操作進(jìn)行的。構(gòu)造方法的作用是初始化對(duì)象。3.不能被static、final、synchronized、abstract和native修飾。構(gòu)造方法不能被子類繼承。5下列哪
27、些類聲明是錯(cuò)誤的?cdA) class AB) public class AC) protected class AD) private class A6下列A類中【代碼1】【代碼5】哪些是錯(cuò)誤的?1 4class Tom private int x = 120; protected int y = 20; int z = 11; private void f() x = 200; System.out.println(x); void g() x = 200; System.out.println(x); public class A public static void main(Stri
28、ng args) Tom tom = new Tom(); tom.x = 22; /【代碼1】 tom.y = 33; /【代碼2】 tom.z = 55; /【代碼3】 tom.f(); /【代碼4】 tom.g(); /【代碼5】 7下列E類的類體中哪些【代碼】是錯(cuò)誤的。4class E int x; /【代碼1】 long y = x; /【代碼2】 public void f(int n) int m; /【代碼3】 int t = n+m; /【代碼4】 1B。2D。3D。4D。5CD。6【代碼1】【代碼4】。7【代碼4】。三、閱讀程序1說(shuō)出下列E類中【代碼1】【代碼3】的輸出結(jié)果
29、。class Fish int weight = 1;class Lake Fish fish; void setFish(Fish s) fish = s; void foodFish(int m) fish.weight=fish.weight+m; public class E public static void main(String args) Fish redFish = new Fish(); System.out.println(redFish.weight); /【代碼1】 Lake lake = new Lake(); lake.setFish(redFish); lak
30、e.foodFish(120); System.out.println(redFish.weight); /【代碼2】 System.out.println(lake.fish.weight); /【代碼3】 2請(qǐng)說(shuō)出A類中System.out.println的輸出結(jié)果。class B int x = 100,y = 200; public void setX(int x) x = x; public void setY(int y) this.y = y; public int getXYSum() return x+y; public class A public static void
31、main(String args) B b = new B(); b.setX(-100); b.setY(-200); System.out.println("sum="+b.getXYSum(); 3請(qǐng)說(shuō)出A類中System.out.println的輸出結(jié)果。class B int n; static int sum=0; void setN(int n) this.n=n; int getSum() for(int i=1;i<=n;i+) sum=sum+i; return sum; public class A public static void main
32、(String args) B b1=new B(),b2=new B(); b1.setN(3); b2.setN(5); int s1=b1.getSum(); int s2=b2.getSum(); System.out.println(s1+s2); 4請(qǐng)說(shuō)出E類中【代碼1】,【代碼2】的輸出結(jié)果n的輸出結(jié)果。class A double f(int x,double y) return x+y; int f(int x,int y) return x*y; public class E public static void main(String args) A a=new A();
33、 System.out.println(a.f(10,10); /【代碼1】 System.out.println(a.f(10,10.0); /【代碼2】 5上機(jī)實(shí)習(xí)下列程序,了解可變參數(shù)。public class E public static void main(String args) f(1,2); f(-1,-2,-3,-4); /給參數(shù)傳值時(shí),實(shí)參的個(gè)數(shù)很靈活 f(9,7,6) ; public static void f(int . x) /x是可變參數(shù)的代表,代表若干個(gè)int型參數(shù) for(int i=0;i<x.length;i+) /x.length是x代表的參數(shù)的
34、個(gè)數(shù) System.out.println(xi); /xi是x代表的第i個(gè)參數(shù)(類似數(shù)組) 6類的字節(jié)碼進(jìn)入內(nèi)存時(shí),類中的靜態(tài)塊會(huì)立刻被執(zhí)行。實(shí)習(xí)下列程序,了解靜態(tài)塊。class AAA static /靜態(tài)塊 System.out.println("我是AAA中的靜態(tài)塊!"); public class E static /靜態(tài)塊 System.out.println("我是最先被執(zhí)行的靜態(tài)塊!"); public static void main(String args) AAA a= new AAA(); /AAA的字節(jié)碼進(jìn)入內(nèi)存 System.
35、out.println("我在了解靜態(tài)(static)塊"); 1【代碼1】:1,【代碼2】:121,【代碼3】:121。2sum=-100。3. 27。4【代碼1】:100,【代碼2】:20.0。5. 上機(jī)實(shí)習(xí)題目,解答略。6. 上機(jī)實(shí)習(xí)題目,解答略。四、編程題用類描述計(jì)算機(jī)中CPU的速度和硬盤的容量。要求Java應(yīng)用程序有4個(gè)類,名字分別是PC,CPU和HardDisk和Test,其中Test是主類。l PC類與CPU和HardDisk類關(guān)聯(lián)的UML圖(圖4.33)其中,CPU類要求getSpeed()返回speed的值;要求setSpeed(int m)方法將參數(shù)m的
36、值賦值給speed。HardDisk類要求getAmount()返回amount的值,要求setAmount(int m)方法將參數(shù)m的值賦值給amount。PC類要求setCUP(CPU c) 將參數(shù)c的值賦值給cpu,要求setHardDisk (HardDisk h)方法將參數(shù)h的值賦值給HD,要求show()方法能顯示cpu的速度和硬盤的容量。l 主類Test的要求 main方法中創(chuàng)建一個(gè)CPU對(duì)象cpu,cpu將自己的speed設(shè)置為2200, main方法中創(chuàng)建一個(gè)HardDisk對(duì)象disk,disk將自己的amount設(shè)置為200, main方法中創(chuàng)建一個(gè)PC對(duì)象pc, pc調(diào)
37、用setCUP(CPU c)方法,調(diào)用時(shí)實(shí)參是cpu, pc調(diào)用setHardDisk (HardDisk h)方法,調(diào)用時(shí)實(shí)參是disk,圖4.33 PC與CPU和HardDisk關(guān)聯(lián)UML圖PCcpu:CPUHD:HardDisksetCPU(CPU):voidsetHardDisk(HardDisk):voidshow():voidCPUspeed:intsetSpeed(int):voidgetSpeed():intHardDiskamount:intsetAmount(int):voidgetAmount():int pc調(diào)用show()方法。CPU.javapublic class
38、 CPU int speed; int getSpeed() return speed; public void setSpeed(int speed) this.speed = speed; HardDisk.javapublic class HardDisk int amount; int getAmount() return amount; public void setAmount(int amount) this.amount = amount; PC.javapublic class PC CPU cpu; HardDisk HD; void setCPU(CPU cpu) thi
39、s.cpu = cpu; void setHardDisk(HardDisk HD) this.HD = HD; void show() System.out.println("CPU速度:"+cpu.getSpeed(); System.out.println("硬盤容量:"+HD.getAmount(); Test.javapublic class Test public static void main(String args) CPU cpu = new CPU(); HardDisk HD=new HardDisk(); cpu.setSpee
40、d(2200); HD.setAmount(200); PC pc =new PC(); pc.setCPU(cpu); pc.setHardDisk(HD); pc.show(); 習(xí)題5(第5章)一、問(wèn)答題1子類可以有多個(gè)父類嗎?2java.lang包中的Object類是所有其他類的祖先類嗎?3如果子類和父類不在同一個(gè)包中,子類是否繼承父類的友好成員?4子類怎樣隱藏繼承的成員變量?5子類重寫方法的規(guī)則是怎樣的?重寫方法的目的是什么?6父類的final方法可以被子類重寫嗎?7什么類中可以有abstract方法?8對(duì)象的上轉(zhuǎn)型對(duì)象有怎樣的特點(diǎn)?9一個(gè)類的各個(gè)子類是怎樣體現(xiàn)多態(tài)的?10面向抽象編
41、程的目的和核心是什么?1不可以。2是。3不繼承。4聲明與父類同名的成員變量。5子類重寫的方法類型和父類的方法的類型一致或者是父類的方法的類型的子類型,重寫的方法的名字、參數(shù)個(gè)數(shù)、參數(shù)的類型和父類的方法完全相同。重寫方法的目的是隱藏繼承的方法,子類通過(guò)方法的重寫可以把父類的狀態(tài)和行為改變?yōu)樽陨淼臓顟B(tài)和行為。6不可以。7abstract類。8上轉(zhuǎn)型對(duì)象不能操作子類新增的成員變量,不能調(diào)用子類新增的方法。上轉(zhuǎn)型對(duì)象可以訪問(wèn)子類繼承或隱藏的成員變量,可以調(diào)用子類繼承的方法或子類重寫的實(shí)例方法。9通過(guò)重寫方法。10面向抽象編程目的是為了應(yīng)對(duì)用戶需求的變化,核心是讓類中每種可能的變化對(duì)應(yīng)地交給抽象類的一個(gè)
42、子類類去負(fù)責(zé),從而讓該類的設(shè)計(jì)者不去關(guān)心具體實(shí)現(xiàn)。二、選擇題1下列哪個(gè)敘述是正確的?cE. 子類繼承父類的構(gòu)造方法。F. abstract類的子類必須是非abstract類。G. 子類繼承的方法只能操作子類繼承和隱藏的成員變量。H. 子類重寫或新增的方法也能直接操作被子類隱藏的成員變量。2下列哪個(gè)敘述是正確的?dA. final 類可以有子類。B. abstract類中只可以有abstract方法。C. abstract類中可以有非abstract方法,但該方法不可以用final修飾。D. 不可以同時(shí)用final和abstract修飾同一個(gè)方法。E. 允許使用static修飾abstract方
43、法。用final修飾的類是不允許被繼承的,A錯(cuò)誤 abstract類中也可以有普通成員方法,B錯(cuò)誤 abstract類中的非abstract方法是可以用final修飾的,而abstract方法是不可以被final修飾的,C錯(cuò)誤 D同上,所以正確 不允許使用static修飾abstract方法,E錯(cuò)誤。3下列程序中注釋的哪兩個(gè)代碼(A,B,C,D)是錯(cuò)誤的(無(wú)法通過(guò)編譯)?cdclass Father private int money =12; float height; int seeMoney() return money ; /A class So
44、n extends Father int height; int lookMoney() int m = seeMoney(); /B return m; class E public static void main(String args) Son erzi = new Son(); erzi.money = 300; /C erzi.height = 1.78F; /D 4假設(shè)C是B的子類,B是A的子類,cat是C類的一個(gè)對(duì)象,bird是B類的一個(gè)對(duì)象,下列哪個(gè)敘述是錯(cuò)誤的?dE. cat instanceof B的值是true。F. bird instanceof A的值是true。G
45、. cat instanceof A的值是true。H. bird instanceof C的值是true。5下列程序中注釋的哪個(gè)代碼(A,B,C,D)是錯(cuò)誤的(無(wú)法通過(guò)編譯)?bclass A static int m; static void f() m = 20 ; /A class B extends A void f() /B m = 222 ; /C class E public static void main(String args) A.f(); / D 6.下列代碼中標(biāo)注的(A,B,C,D)中,哪一個(gè)是錯(cuò)誤的?babstract class Takecare protect
46、ed void speakHello() /A public abstract static void cry(); /B static int f() return 0 ; /C abstract float g(); /D7下列程序中注釋的哪個(gè)代碼(A,B,C,D)是錯(cuò)誤的(無(wú)法通過(guò)編譯)?dabstract class A abstract float getFloat (); /A void f() /B public class B extends A private float m = 1.0f; /C private float getFloat () /D return m; 8將下列哪個(gè)代碼(A,B,C,D)放入程序中標(biāo)注的【代碼】處將導(dǎo)致編譯錯(cuò)誤?bA. public float getNum()return 4.0f; B. public void getNum() C. public void getNum(double d) D. public double getNum(float d)return 4.0d;class A public float getNum() return 3.0f; public class B extends A 【代碼】 9對(duì)于下列代碼,下列哪個(gè)敘述是正確的?
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 經(jīng)濟(jì)安全戰(zhàn)略的制定試題及答案
- 2025年軟考重要注意事項(xiàng)及試題及答案
- 戰(zhàn)略實(shí)施中的個(gè)體因素重要性試題及答案
- 網(wǎng)絡(luò)數(shù)據(jù)加密方法試題與答案總結(jié)
- 軟件設(shè)計(jì)師考試重要知識(shí)點(diǎn)試題及答案
- 2025年VB考試復(fù)習(xí)指南及試題與答案
- 2025不動(dòng)產(chǎn)抵押協(xié)議合同范本
- 杭汽輪合作協(xié)議
- 結(jié)果導(dǎo)向的工作方法計(jì)劃
- 從失敗中學(xué)習(xí)的個(gè)人計(jì)劃
- 2025屆陜西省咸陽(yáng)市高三模擬檢測(cè)(三)生物試題(原卷版+解析版)
- 壓力容器焊工試題及答案
- 2025年安徽省合肥市第四十二中學(xué)中考二模物理試題(含答案)
- 少先隊(duì)理論測(cè)試題及答案
- 2024年河北省臨漳縣事業(yè)單位公開(kāi)招聘村務(wù)工作者筆試題帶答案
- (市質(zhì)檢)莆田市2025屆高中畢業(yè)班第四次教學(xué)質(zhì)量檢測(cè)試卷英語(yǔ)試卷(含答案解析)
- 環(huán)宇電子科技公司鍍膜銑刀生產(chǎn)項(xiàng)目環(huán)評(píng)資料環(huán)境影響
- 2025廣西中馬欽州產(chǎn)業(yè)園區(qū)投資控股集團(tuán)限公司招聘49人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 工程過(guò)賬協(xié)議合同協(xié)議
- 快手開(kāi)店合同協(xié)議
- 2025年第三屆天揚(yáng)杯建筑業(yè)財(cái)稅知識(shí)競(jìng)賽題庫(kù)附答案(501-1000題)
評(píng)論
0/150
提交評(píng)論