JAVA期末考試復(fù)習(xí)題
JAVA程序設(shè)計(jì)練習(xí)題一、單選擇題1、編譯Java Application 源程序文件將產(chǎn)生相應(yīng)的字節(jié)碼文件,這些字節(jié)碼文件的擴(kuò)展名為( B )。 A.java B. .class C.html D. .exe2、設(shè) x = 1 , y = 2 ,z = 3,則表達(dá)式 yz/x 的值是( A )。 A. 3 B. 3.5 C. 4 D. 53、不允許作為類及類成員的訪問(wèn)控制符的是( C )。 A. public B. private C. static D. protected4、為AB類的一個(gè)無(wú)形式參數(shù)無(wú)返回值的方法method書寫方法頭,使得使用類名AB作為前綴就可以調(diào)用它,該方法頭的形式為( A )。 A. static void method( ) B. public void method() C. final void method( ) D. abstract void method( )5、關(guān)于選擇結(jié)構(gòu)下列哪個(gè)說(shuō)法正確?( B )Aif語(yǔ)句和 else語(yǔ)句必須成對(duì)出現(xiàn)Bif語(yǔ)句可以沒有else語(yǔ)句對(duì)應(yīng)Cswitch結(jié)構(gòu)中每個(gè)case語(yǔ)句中必須用break語(yǔ)句Dswitch結(jié)構(gòu)中必須有default語(yǔ)句6、while循環(huán)和 dowhile循環(huán)的區(qū)別是:( D )A沒有區(qū)別,這兩個(gè)結(jié)構(gòu)任何情況下效果一樣Bwhile循環(huán)比 dowhile循環(huán)執(zhí)行效率高Cwhile循環(huán)是先循環(huán)后判斷,所以循環(huán)體至少被執(zhí)行一次Ddowhile循環(huán)是先循環(huán)后判斷,所以循環(huán)體至少被執(zhí)行一次7、關(guān)于 for循環(huán)和 while循環(huán)的說(shuō)法哪個(gè)正確?( B )Awhile循環(huán)先判斷后執(zhí)行,for循環(huán)先執(zhí)行后判斷。Bwhile循環(huán)判斷條件一般是程序結(jié)果,for循環(huán)的判斷條件一般是非程序結(jié)果C兩種循環(huán)任何時(shí)候都不可以替換D兩種循環(huán)結(jié)構(gòu)中都必須有循環(huán)體,循環(huán)體不能為空8、下列修飾符中與訪問(wèn)控制無(wú)關(guān)的是( D )Aprivate BpublicCprotected Dfinal9、 void的含義:( A )A方法沒有返回值 B 方法體為空C沒有意義 D.定義方法時(shí)必須使用10、 return語(yǔ)句:( C )A只能讓方法返回?cái)?shù)值 B方法都必須含有C方法中可以有多句return D不能用來(lái)返回對(duì)象11、關(guān)于對(duì)象成員占用內(nèi)存的說(shuō)法哪個(gè)正確?( B )A同一個(gè)類的對(duì)象共用同一段內(nèi)存B、同一個(gè)類的對(duì)象使用不同的內(nèi)存段,但靜態(tài)成員共享相同的內(nèi)存空間C對(duì)象的方法不占用內(nèi)存D以上都不對(duì)12、下列說(shuō)法哪個(gè)正確?( C )A不需要定義類,就能創(chuàng)建對(duì)象B對(duì)象中必須有屬性和方法C屬性可以是簡(jiǎn)單變量,也可以是一個(gè)對(duì)象D、屬性必須是簡(jiǎn)單變量13、下列說(shuō)法哪個(gè)正確?( A )A、一個(gè)程序可以包含多個(gè)源文件B、一個(gè)源文件中只能有一個(gè)類C、一個(gè)源文件中可以有多個(gè)公共類D、一個(gè)源文件只能供一個(gè)程序使用14、關(guān)于方法main()的說(shuō)法哪個(gè)正確?( C )A方法main()只能放在公共類中Bmain()的頭定義可以根據(jù)情況任意更改C一個(gè)類中可以沒有main()方法D所有對(duì)象的創(chuàng)建都必須放在main()方法中15、構(gòu)造函數(shù)何時(shí)被調(diào)用?( A )A、創(chuàng)建對(duì)象時(shí) B、類定義時(shí)C、使用對(duì)象的方法時(shí) D、使用對(duì)象的屬性時(shí)16、抽象方法:( C )A、可以有方法體B、可以出現(xiàn)在非抽象類中C、是沒有方法體的方法D、抽象類中的方法都是抽象方法17、關(guān)于繼承的說(shuō)法正確的是:( B )A、子類將繼承父類所有的屬性和方法。B、子類將繼承父類的非私有屬性和方法。C、子類只繼承父類public方法和屬性D、子類只繼承父類的方法,而不繼承屬性18、關(guān)于構(gòu)造函數(shù)的說(shuō)法哪個(gè)正確?( C )A、一個(gè)類只能有一個(gè)構(gòu)造函數(shù)B、一個(gè)類可以有多個(gè)不同名的構(gòu)造函數(shù)C、構(gòu)造函數(shù)與類同名D、構(gòu)造函數(shù)必須自己定義,不能使用父類的構(gòu)造函數(shù)C19、 this和super:( C )A、都可以用在main()方法中B、都是指一個(gè)內(nèi)存地址C、不能用在main()方法中D、意義相同20、關(guān)于super的說(shuō)法正確的是:( C )A、是指當(dāng)前對(duì)象的內(nèi)存地址B、是指當(dāng)前對(duì)象的父類對(duì)象的內(nèi)存地址C、是指當(dāng)前對(duì)象的父類D、可以用在main()方法中21、覆蓋與重載的關(guān)系是( A )A、覆蓋只有發(fā)生在父類與子類之間,而重載可以發(fā)生在同一個(gè)類中B覆蓋方法可以不同名,而重載方法必須同名Cfinal修飾的方法可以被覆蓋,但不能被重載D覆蓋與重載是同一回事22、關(guān)于接口哪個(gè)正確?( A )A、實(shí)現(xiàn)一個(gè)接口必須實(shí)現(xiàn)接口的所有方法B一個(gè)類只能實(shí)現(xiàn)一個(gè)接口C接口間不能有繼承關(guān)系D接口和抽象類是同一回事23、異常包含下列哪些內(nèi)容?( A )A程序執(zhí)行過(guò)程中遇到的事先沒有預(yù)料到的情況B程序中的語(yǔ)法錯(cuò)誤C程序的編譯錯(cuò)誤D以上都是24、對(duì)于已經(jīng)被定義過(guò)可能拋出異常的語(yǔ)句,在編程時(shí):( A )A、必須使用trycatch語(yǔ)句處理異常,或用throws將其拋出B如果程序錯(cuò)誤,必須使用 trycatch語(yǔ)句處理異常C可以置之不理D只能使用trycatch語(yǔ)句處理25、當(dāng)某一線程正處于休眠狀態(tài),而另一個(gè)線程用 Thread 類中的interrupt() 方法中斷它時(shí),拋出的異常類型是( C )。A) IOException B) RuntimeExceptionC)InterruptedException D) ClassNotFoundException26、下面的程序段的功能是( D )。File file1=new File("d:xxxyyyzzz");file1.mkdirs();A)在當(dāng)前目錄下生成子目錄:xxxyyyzzz B)生成目錄:e:xxxyyyzzzC)在當(dāng)前目錄下生成文件xxx.yyy.zzz D)以上說(shuō)法都不對(duì) 27、應(yīng)用程序的main方法中有以下語(yǔ)句,則輸出的結(jié)果是 ( B )。 String s = "xxxxxxxxxxxxxxx#123#456#zzzzz" int n = s.indexOf("#"); int k = s.indexOf("#", n+1); String s2 = s.substring(n+1, k); System.out.println(s2); A) 123456 B) 123C) xxxxxxxxxxxxxxx D) zzzzz28、關(guān)于下面的程序Test.java說(shuō)法正確的是( D )。public class Test String x="1" int y; Public static void main(String args) Intz=2; System.out.println(x+y+z); A)3 B)102 C) 12 D)程序有編譯錯(cuò)誤 29、應(yīng)用程序的main方法中有以下語(yǔ)句,則輸出的結(jié)果是( A )。 intb=1, 1, 1, 2,2, 3;int sum=0;for(int i=0; i<b.length; i+) for(int j=0; j<bi.length; j+) sum+=bij; System.out.println("sum="+sum);A) 10B)6 C) 9 D) 1330、應(yīng)用程序的main方法中有以下語(yǔ)句,則執(zhí)行后輸出的結(jié)果是( B )。int x = 125,21,5,168,98;int min = x0;for (int i=1; i<x.length; i+) if(xi <min) min = xi;System.out.println(min);A) 125B) 5 C) 98 D) 168 31、應(yīng)用程序的main方法中有以下語(yǔ)句,則輸出的結(jié)果是( D )。Hashtable hashtable=new Hashtable();hashtable.put("100","aaa");hashtable.put("200","bbb");hashtable.put("300","ccc"); System.out.println(hashtable.get("300").toString() +hashtable.get("200").toString()+ hashtable.get("100").toString(); A)aaa B) bbb C) cccD) cccbbbaaa32、以下關(guān)于java異常說(shuō)法不正確的是( D )。A) Throwable 類是 Java 語(yǔ)言中Error類和Exception類的父類。B)當(dāng)異常對(duì)象是Exception類(或其子類)的實(shí)例時(shí),能通過(guò) Java 虛擬機(jī)或者 throw語(yǔ)句拋出該異常對(duì)象,并能通過(guò)trycatchfinally處理。C)如果只用一個(gè)catch塊捕捉多個(gè)異常對(duì)象,則catch 子句中的參數(shù)類型應(yīng)是所有異常對(duì)象的父類。D)以上說(shuō)法都不對(duì)。33、下列程序段執(zhí)行后的結(jié)果是( A )。String s = new String("abcdefg");for (int i=0; i<s.length(); i+=2)System.out.print(s.charAt(i); A) acegB) ACEG C) abcdefg D) abcd 34、有整型數(shù)組:int x=12,35,8,7,2;,則調(diào)用方法Arrays.sort(x)后,數(shù)組x中的元素值依次是( A )。A) 27 8 1235 B) 1235 8 72 C) 3512 8 72 D) 87 12 35 235、應(yīng)用程序的main方法中有以下語(yǔ)句,則輸出的結(jié)果是( A )。 Strings1=new String("abc");String s2=new String("abc");boolean b1=s1.equals(s2);boolean b2=(s1=s2); System.out.print(b1+""+b2); A)truefalse B) falsetrue C) true trueD)false false 36、應(yīng)用程序的main方法中有以下語(yǔ)句,則輸出的結(jié)果是 ( B )。 Hashtable hashtable=new Hashtable();hashtable.put("x","12345");hashtable.put("y","67890");hashtable.put("a","abcde"); System.out.println(hashtable.get("a"); A)a B) abcde C) 12345D) 67890 37、應(yīng)用程序的main方法中有以下語(yǔ)句,則輸出的結(jié)果是( B )。 Strings="12345#aaa#bbb#67890" int n=s.indexOf("#"); intk=s.indexOf("#",n+1); intm=s.indexOf("#",k+1); Strings2=s.substring(m+1); System.out.println(s2); A) 123456 B) 67890 C) aaaD) bbb38、下面程序段執(zhí)行后b的值是( B )。 Integerinteg =new Integer(9); boolean b = integ instanceof Object; A) 9B) true C) 1 D) false39、應(yīng)用程序Test.java的源程序如下,在命令行鍵入: javaTest aaabb c回車后輸出的結(jié)果是( A )。public class Test publicstatic void main(String args) int k1=args.length; int k2=args1.length(); System.out.print(k1+""+k2); A) 32 B)1 2C) 1 3 D) 3340、應(yīng)用程序的main方法中有以下語(yǔ)句,則輸出的結(jié)果是 (A )。 intb=1, 2,2, 2,2,2;int sum=0;for(int i=0;i<b.length;i+) for(int j=0;j<bi.length;j+) sum*=bij; System.out.println("sum="+sum);A) 32B)11 C) 2 D) 3 41、應(yīng)用程序的main方法中有以下語(yǔ)句,則執(zhí)行后輸出的結(jié)果是( D )。intx=125,21,5,168,98;int max=x0;for(int i=1;i<x.length;i+) if(xi>max) max =xi;System.out.println(max);A) 125B) 5 C) 98D) 16842、程序Test.java編譯運(yùn)行后輸出的結(jié)果是( A )。public class Test Strings1="java" publicstatic void main(String args) intz=2; Testt=new Test(); System.out.println(t.s1+z); A) java2B)2 C)沒有輸出結(jié)果D)java43、應(yīng)用程序的main方法中有以下語(yǔ)句,則輸出的結(jié)果是 ( A )。 String s1="0.5", s2="12"double x=Double.parseDouble(s1);int y=Integer.parseInt(s2); System.out.println(x+y);A) 12.5 B) 120.5 C) 12 D) “12.5”44、如下哪個(gè)是Java中的標(biāo)識(shí)符( A ) A、public B、super C、3number D、width45、如下哪個(gè)是Java中的標(biāo)識(shí)符( A )A、fieldnameB、super C、3number D、#number46、已知如下定義:String s = "story" 下面哪個(gè)語(yǔ)句不是合法的( A )A、s += "books" B、s = s + 100;C、int len = s.length; D、String t = s + “abc”;47、如下哪個(gè)是Java中有效的關(guān)鍵字( C )A、name B、hello C、false D、good48、下面的代碼段執(zhí)行之后count的值是什么( D ) int count = 1; for (int i = 1; i <= 5; i+) count += i; System.out.println(count);A、5 B、1 C、15 D、1649、定義一個(gè)類,必須使用的關(guān)鍵字是( B )A、public B、class C、interface D、static50、定義一個(gè)接口必須使用的關(guān)鍵字是( C )A、public B、class C、interface D、static51、如果容器組件p的布局是BorderLayout,則在p的下邊中添加一個(gè)按鈕b,應(yīng)該使用的語(yǔ)句是( C ) A、p.add(b); B、p.add(b,"North"); C、p.add(b,"South"); D、b.add(p,"North");52、聲明并創(chuàng)建一個(gè)按鈕對(duì)象b,應(yīng)該使用的語(yǔ)句是( A )A、Button b=new Button(); B、button b=new button();C、Button b=new b(); D、b.setLabel(“確定”);53、Frame對(duì)象默認(rèn)的布局管理器是( B )A、FlowLayout B、BorderLayout C、CardLayout D、null二、填空題1、開發(fā)與運(yùn)行Java程序需要經(jīng)過(guò)的三個(gè)主要步驟為 編輯源程序 、 編譯生成字節(jié)碼 和 解釋運(yùn)行字節(jié)碼 。2、在Java的基本數(shù)據(jù)類型中,char型采用Unicode編碼方案,每個(gè)Unicode碼占用 2字節(jié)內(nèi)存空間,這樣,無(wú)論是中文字符還是英文字符,都是占用 2字節(jié)內(nèi)存空間。3、設(shè) x = 2 ,則表達(dá)式 ( x + + )3 的值是 1。4、若x = 5,y = 10,則x < y和x >= y的邏輯值分別為 true和 false 。5、 抽象 方法是一種僅有方法頭,沒有具體方法體和操作實(shí)現(xiàn)的方法,該方法必須在抽象類之中定義。 final 方法是不能被當(dāng)前類的子類重新定義的方法。6、創(chuàng)建一個(gè)名為 MyPackage 的包的語(yǔ)句是 package mypackage ,該語(yǔ)句應(yīng)該放在程序的位置為: 應(yīng)放在程序第一句 。7、設(shè)有數(shù)組定義:int MyIntArray = 10 , 20 , 30 , 40 , 50 ,60 , 70; 則執(zhí)行以下幾個(gè)語(yǔ)句后的輸出結(jié)果是 120 。 int s = 0 ; for (int i = 0 ; i < MyIntArray.length ;i + + ) if ( i % 2 = = 1 ) s += MyIntArrayi ; System.out.println(s);8、在Java程序中,通過(guò)類的定義只能實(shí)現(xiàn) 單 重繼承,但通過(guò)接口的定義可以實(shí)現(xiàn) 多 重繼承關(guān)系。1、如果將類MyClass聲明為public,它的文件名稱必須是 MyClass.java 才能正常編譯。2、Java程序中的單行注釋符是 /,多行注釋符是 /*.*/ 。3、Java中布爾類型的常量有兩種,它們是 true 和 false。4、Java中用于定義小數(shù)的關(guān)鍵字有兩個(gè): float和 double ,后者精度高于前者。5、Java中用于兩個(gè)數(shù)相等比較的運(yùn)算符是: =,用于不相等比較的運(yùn)算符是 <> 。6、在Java中定義一個(gè)字符串類型的變量str的語(yǔ)句是: String str,定義一個(gè)具有10個(gè)元素的整型數(shù)組a的語(yǔ)句是: int r=new int 10 。7、導(dǎo)入mypackage包中的所類的命令是 impoartmypackage.*;。8、當(dāng)聲明一個(gè)數(shù)組int arr = new int5; 時(shí),這代表這個(gè)數(shù)組所保存的變量類型是 int,數(shù)組名是 arr ,數(shù)組的大小為 5 ,數(shù)組元素下標(biāo)的使用范圍是 0到4 。9、假設(shè)x=13,y=4,則表達(dá)式x%y != 0的值是 true,其數(shù)據(jù)類型是 boolean 。10、異常處理是由 try 、 catch和 finally 塊三個(gè)關(guān)鍵所組成的程序塊。11、以下程序段的輸出結(jié)果是 三角形 int x = 5, y = 6, z = 4; if(x + y > z && x + z > y && z + y > x) System.out.println("三角形"); else System.out.println("不是三角形");12、下面程序段的執(zhí)行結(jié)果是 6 5 4 3 2 int a = 2, 3, 4, 5, 6 ; for(int i = a.length - 1; i >= 0; i-) System.out.print(ai + "");三、簡(jiǎn)答題1、簡(jiǎn)述Java中異常處理的機(jī)制?答:首先Java的異常是面向?qū)ο蟮?。一個(gè)Java的Exception是一個(gè)描述異常情況的對(duì)象.當(dāng)出現(xiàn)異常情況時(shí),一個(gè)Exception對(duì)象就產(chǎn)生了,并放到異常的成員函數(shù)里。Java的異常處理是通過(guò)5個(gè)關(guān)鍵詞來(lái)實(shí)現(xiàn)的:try,catch,throw,throws和finally。1.異常處理:在Java語(yǔ)言的錯(cuò)誤處理結(jié)構(gòu)由try,catch,finally三個(gè)塊組成。其中try塊存放將可能發(fā)生異常的Java語(yǔ)言,并管理相關(guān)的異常指針;catch塊緊跟在try塊后面,用來(lái)激發(fā)被捕獲的異常;finally塊包含清除程序沒有釋放的資源,句柄等。不管try塊中的代碼如何退出,都將執(zhí)行 finally塊。2.拋出異常:Java語(yǔ)言可以不在方法中直接捕獲,而用throw語(yǔ)句將異常拋給上層的調(diào)用者。Throw語(yǔ)句就是來(lái)明確地拋出一個(gè)異常;首先你必需得到一個(gè)Throwable的實(shí)例句柄,通過(guò)參數(shù)傳到catch中,或者采用new操作符來(lái)創(chuàng)建一個(gè)。2、什么是繼承?答:通過(guò)必要的說(shuō)明能夠?qū)崿F(xiàn)某個(gè)類無(wú)需重新定義就擁有另一個(gè)類的某些屬性和方法,并把這種關(guān)系稱為繼承,先定義的類稱為父類,后定義的類稱為子類,并且允許多層的繼承關(guān)系。3、請(qǐng)簡(jiǎn)述重載和重寫的區(qū)別?答:方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫Overriding是父類與子類之間多態(tài)性的一種表現(xiàn),重載Overloading是一個(gè)類中多態(tài)性的一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說(shuō)該方法被重寫 (Overriding)。子類的對(duì)象使用這個(gè)方法時(shí),將調(diào)用子類中的定義,對(duì)它而言,父類中的定義如同被“屏蔽”了。如果在一個(gè)類中定義了多個(gè)同名的方法,它們或有不同的參數(shù)個(gè)數(shù)或有不同的參數(shù)類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。四、寫出下面程序的運(yùn)行結(jié)果1、 import java.io.*;public class abc public static void main(String args ) AB s = new AB("Hello!","Ilove JAVA.");System.out.println(s.toString( ); class AB String s1; Strings2;public AB(String str1, String str2) s1 = str1;s2 = str2; public String toString( ) return s1+s2;運(yùn)行結(jié)果: Hello!I love JAVA 2、 import java.io.* ;public class abc public static void main(String args ) int i, s = 0 ; int a = 10 , 20 , 30 , 40 ,50 , 60 , 70 , 80 , 90 ; for ( i = 0 ; i < a.length ; i +) if ( ai%3 = = 0 ) s += ai ; System.out.println("s="+s);運(yùn)行結(jié)果: S=180 3、import java.io.* ;public class abc public static void main(String args ) System.out.println("a="+a+"nb="+b); class SubClass extends SuperClass int c;SubClass(int aa, int bb, int cc) super(aa, bb);c=cc; class SubSubClass extends SubClass int a;SubSubClass(int aa, int bb, int cc) super(aa, bb, cc);A = aa+bb+cc;void show() System.out.println("a="+a+"nb="+b+"nc="+c); 運(yùn)行結(jié)果:a=60 b=20 c=30 4、以下程序的輸出結(jié)果為_Peter is17years old!_。public class Person Stringname; intage; publicPerson(String name, int age) this.name = name; this.age = age; publicstatic void main(String args) Person c = new Person("Peter",17); System.out.println(c.name + " is" + c.age + " years old!"); 5、以下程序的輸出結(jié)果為_課程號(hào):101 課程名:ASP 學(xué)分:3_。public class Course privateString cNumber; privateString cName; privateint cUnit; publicCourse(String number, String name, int unit) cNumber = number; cName = name; cUnit = unit; publicvoid printCourseInfo() System.out.println("課程號(hào):" + cNumber + " 課程名:" + cName + " 學(xué)分:" + cUnit); class CourseTest publicstatic void main(String args) Course c; c = new Course("101","ASP", 3); c.printCourseInfo(); 6、以下程序的輸出結(jié)果為_湯姆貓?bào)w重:20.0斤_。public class Tom privatefloat weight; privatestatic String name; publicvoid setWeight(float weight) this.weight = weight; privatevoid out() System.out.println(name + "體重:" + weight + "斤"); publicstatic void main(String args) Tom.name = "湯姆貓" Tom cat = new Tom(); cat.setWeight(20); cat.out(); 7、以下程序的輸出結(jié)果_姓名:Tom 年齡:15 家庭住址:金水區(qū) 電話:_66123456 學(xué)校:九中_。public class Father Stringname, address, tel; intage; publicFather(String name, int age) this.name = name; this.age = age; voidout() System.out.print("姓名:" + name); System.out.print(" 年齡:" + age); voidoutOther() System.out.print(" 家庭住址:" + address); System.out.print(" 電話:" + tel); class Son extends Father Stringschool; publicSon(String name, int age) super(name, age); voidout() super.out(); super.outOther(); System.out.println(" 學(xué)校:" + school); publicstatic void main(String args) Son son = new Son("Tom", 15); son.address = "金水區(qū)" son.school = "九中" son.tel = "66123456" son.out(); 8、下列程序的運(yùn)行結(jié)果是_1 23 45_。public class MyClass inta = 1, 2, 3, 4, 5 ; voidout() for (int j = 0; j < a.length; j+) System.out.print(aj+ ""); publicstatic void main(String args) MyClass my = new MyClass(); my.out(); 五、程序填空題1.public class Sum publicstatic void main(String args) int j=10; System.out.println("j is :"+j); calculate(j); System.out.println("At last, j is :"+j); static void calculate (int j) for (int i = 0;i<10;i+) j+; System.out.println("j in calculate()is: "+j); 輸出結(jié)果為:j is : (1) 10 j in calculate() is : (2) 20 At last j is : (3) 102.按要求填空abstract class SuperAbstract voida() abstractvoid b(); abstractint c(int i);interface AsSuper voidx();abstract class SubAbstract extendsSuperAbstract implements AsSuperpublic void b() abstractString f();public class InheritAbstract extendsSubAbstract publicvoid x() publicint c(int i ) publicString f() publicstatic void main(String args) InheritAbstract instance=newInheritAbstract(); instance.x(); instance.a(); instance.b(); instance.c(100); System.out.println(instance.f(); 在以上這段程序中:抽象類有:SuperAbstract和(1)(寫出類名)SuperAbstract非抽象類有:(2)(寫出類名)InheritAbstract接口有:(3)(寫出接口名)AsSuperAsSuper中的x()方法是 抽象 (4) 方法,所以在InheritAbstract中必須對(duì)它進(jìn)行 覆蓋和實(shí)現(xiàn) (5)3.按注釋完成程序public class Leaf privateint i = 0; /此屬性值用于檢驗(yàn) Leafincrement() /定義方法increment(),返回值是Leaf類的對(duì)象 i+; return this(1) ;/將當(dāng)前對(duì)象的地址作為返回值返回 voidprint() System.out.println(" i = " + i); publicstatic void main(String args) Leaf x = new Leaf() (2); /創(chuàng)建Leaf類的對(duì)象x x.increment().increment().increment().print(); /多次調(diào)用方法increment(),返回的都是x的地址,i 值表示調(diào)用次數(shù)輸出結(jié)果為 i = 3 (3) 五、程序閱讀題1、閱讀下面的程序代碼,并回答問(wèn)題(u問(wèn)3分,v問(wèn)3分,共6分)。 String s1 = new String("abcde"); String s2 = new String("abcde"); boolean b1= s1.equals(s2); boolean b2 = s1= s2; System.out.print(b1+" "+b2); u程序段執(zhí)行后,在命令行的輸出結(jié)果如何?答:True falsev解釋輸出(1)的結(jié)果的原因?略2、閱讀下面的程序,并回答問(wèn)題(u問(wèn)3分,v問(wèn)3分,共6分)。import java.io.*;public class Test public static v