2023年SunJava程序員考試題庫_第1頁
2023年SunJava程序員考試題庫_第2頁
2023年SunJava程序員考試題庫_第3頁
2023年SunJava程序員考試題庫_第4頁
2023年SunJava程序員考試題庫_第5頁
已閱讀5頁,還剩139頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第一部分基礎知識練習目的本章相應于《學生指南》各章的內容分別提供了練習題集,涉及:第一章Java入門第二章數據類型和運算符第三章流程控制與數組第四章封裝第五章繼承第六章抽象類與接口第七章多態第八章異常第九章多線程機制第十章輸入輸出流第十一章使用泛型和集合框架第十二章基于Swing的圖形用戶界面(GUI)設計第十三章Java事件驅動編程

第一章練習題(Java入門)1.下列哪項不是JDK所包含的內容?(選一項)A.Java編程語言B.工具及工具的APIC.JavaEE擴展APID.Java平臺虛擬機2.下列關于JDK、JRE和JVM的描述。哪項對的?A.JDK中包含了JRE,JVM中包含了JREB.JRE中包含了JDK,JDK中包含了JVMC.JRE中包含了JDK,JVM中包含了JRED.JDK中包含了JRE,JRE中包含了JVM3.下列哪個工具可以編譯java源文獻?A.javacB.jdbC.javadocD.junit4.JDK工具javadoc的作用是哪項?A.生成Java文檔B.編譯Java源文獻C.執行Java類文獻D.測試Java代碼5.以下哪些包是Java標準庫中常用的包?(選三項)A.java.langB.javax.servlet.httpC.java.ioD.java.sql6.使用JDK工具生成的Java文檔的文獻格式是?A.XML格式B.自定義格式c.二進制格式D.HTML格式7.以下關于JVM的敘述,哪項對的?(選兩項)A.JVM運營于操作系統之上,它依賴于操作系統B.JVM運營于操作系統之上,它與操作系統無關C.JVM支持Java程序運營,它可以直接運營Java字節碼文獻D.JVM支持Java程序運營,它可以直接運營Java源代碼文獻8.以下關于支持Java運營平臺的敘述,哪項錯誤?A.Java可在Solaris平臺上運營B.Java可在Windows平臺上運營C.Java語言與平臺無關。Java程序的運營結果依賴于操作系統D.Java語言與平臺無關。Java程序的運營結果與操作系統無關9.以下關于Applet和Java程序之間關系的敘述,哪項錯誤?A.-個Applet就是一段Java程序B.Applet是一種特殊的Java程序,它需要運營在Web服務器上C.Applet是一種特殊的Java程序,它需要運營在Web瀏覽器上D.Applet是一種JavaSE平臺的應用程序10.以下關于JavaHotSpot的描述,哪兩項錯誤?(選兩項)A.JavaHotSpot是一種熱編譯技術,在編譯Java源程序時會被使用B.JavaHotSpot是一種熱編譯技術,在運營Java代碼時會被使用C.JavaHotSpot是一種熱編譯技術,它只對程序的部分字節碼進行優化D.JavaHotSpot是一種熱編譯技術,它會對程序的所有字節碼進行優化

11.環境變量PATH中具有多個途徑時,途徑和途徑之間可以用哪項來隔開?A.:B.,C.*D:|12.CLASSPATH中的“.”的含義是哪項?A.省略號B.當前目錄C.所有目錄D.上級目錄13.JVM在執行一個Java類時,大體采用以下過程?A.執行類中的代碼一>裝載類一>校驗類B.校驗類一>裝載類一>執行類中的代碼C.裝載類一>執行類中的代碼一>校驗類D.裝載類一>校驗類一>執行類中的代碼14.當運營—個Java程序時,傳遞參數的格式是哪項?A.java類名參數1,參數2B.javac類名參數1參數2C.java類名參數1參數2D.java類名參數1+參數215.以下關于Java文獻名的敘述,對的的有?(選兩項)A.Java源文獻的擴展名應為.javaB.Java源文獻的文獻名應與文獻中的類名一致C.Java字節碼文獻的擴展名應為.javaD.一個Java源文獻中只能包含一個Java類CDAAACDDACCBADABDCAB第二章練習題(數據類型和運算符)1.下列哪項不屬于Java語言的基本數據類型?A.intB.StringC.doubleD.boolean2.下列哪項不是int類型的字面量?A.\u03A6B.077C.OxABBCD.203.下列哪項不是有效的標記符?A.userNameB.2testC.$changeD._password4.下列哪項是Java語言中所規定的注釋樣式?(選三項)A.//單行注釋B.--單行注釋C./**單行或多行注釋*/D./kk*文檔注釋*/5.下列哪項不是Java語言的關鍵字?A.gotoB.sizeofC.instanceofD.volatile6.現有如下五個聲明:Linel:inta_really_really_really_long_variable_name=5;Line2:int_hi=6;Line3:intbig=Integer.getlnteger("7”);Line4:int$dollars=8;line5:int%opercent=9;哪行無法通過編譯?A.Line1B.Line3C.Line4D.Line57.現有:1.classTop{2.staticintx=l;3.publicTop(inty){x*=3;}4.}5.classMiddleextendsTop{6.publicMiddle(){x+=1;)7.publicstaticvoidmain(String[]args){8.Middlem=newMiddle();9.System.out.println(x);IO.}II.}結果為:A.1B.2C.3D.編譯失敗8.現有:1.classPasserf2.staticfinalintX=5;3.publicstaticvoidmain(String[]args){4.newPasser().go(x);5.System.out.print(x);6,)7.voidgo(intx){8.System.out.print(x++);9.}10.}結果是什么?A.55B.56C.65D.669.現有:1.classWrenchf2.publicstaticvoidmain(String[]args){3.Wrenchw=newWrench();Wrenchw2=newWrench();4.w2=go(w,w2);5.System.out.print(w2==w);6.}7.staticWrenchgo(Wrenchwrl,Wrenchwr2){8.Wrenchwr3=wrl;wrl=wr2;wr2=wr3;9.returnwr3;10.}11.}結果是什么?A.falseB.trueC.編譯失敗D.運營的時候有異常拋出10.現有:5.classWrench2{6.intsize;7.publicstaticvoidmain(String[]args){8.Wrench2w=newWrench2();9.w.size=II;IO.Wrench2w2=go(w,w.size);II.System.out.print(w2.size);12.)13.staticWrench2go(Ws){14.S=12;15。returnwr;16.}17.}結果為:A.11B.12c.編譯失敗。D.運營時異常被拋出11.現有:classTest2fpublicstaticvoidmain(String[]args){shorta,b,C;a=l;b=2;C=a+b;a+=2:}}以上代碼中,哪一句是錯誤的?A.a=1:B.C=a+b;C.a+=2;D.shorta,b,C;12.表達式:1-2/5+2'k5的結果是哪項?A.10.6B.9.8C.913.現有代碼片段:Strings="123";Stringsl=S+456;請問sl的結果是哪項?A.123456B.579C.編譯錯誤D.運營時拋出異常14.基本數據類型float的包裹類是哪項?A.IntegerB.DoubleC.FloatD.Character15.現有:1.classTest4{2.publicstaticvoidmain(String[]args){3.booleanX=true;4.booleany=false;5.shortZ=42;6.7.if((z++==42)&&(y=true))z++;8.if((x=false)||(++z==45))z++;9.10.System.out.println(¨z=”+z);II.}12.}結果為:A.Z=42B.z=44C.Z=45D.z=46BABACDBDDABABDACD第三章練習題第三章練習題(流程控制與數組)1.現有:classTestApp{publicstaticvoidmain(String[]args){for(inti=0;i<lO;i++){if(i==3)break;System.out.print(i);}}}程序運營后的輸出是哪項?A.0123B.C.D.0122.程序:classTestApp{publicstaticvoidmain(String[]args){intx=6;if(x>l)System.out.println("x>l");elseif(x>5)System.out.println("x>5");elseif(x<10)System.out.println("x<lO");elseif(x<29)System.out.println("x<29");elseSystem.out.println(“以上都不是”);}}上述程序運營后的結果是哪項?A.x>5B.x>lC.x<10D.x<293.現有:classTestApp{publicstaticvoidmain(String[]args){int[5]myarray={10,11,12,13,14);intsum=0;for(intx:myarray)sum+=x;System.out.println("sum="+sum);}}上述程序運營后的結果是哪項?A.sum=10B.sum=70C.sum=60D.運營時拋出異常4.下列有關數組的聲明中,對的的是哪項?(選兩項)A.ints[10];B.int[10]s;C.int[5]s={l,2,3,4,5};D.ints[];5.已知數組array,其最后一個元素的下標是?A.array.sizeB.array.length-lC.array.size-lD.array.length6.程序:classTestApp{publicstaticvoidmain(String[]args){intX=5:switch(x){casel:case2:case3:System.out.println(“一季度”);break;case4:case5:case6:System.out.println(“二季度”);break;default:System.out.println(“三季度以上”);break;)})上述程序運營后的結果是哪項?A.一季度B.二季度c.三季度以上D.無輸出7.為將數組myArray的長度由3改為6,現采用以下編碼:int[]myArray=newint[3];myArray=newint[6];代碼執行后,以下敘述哪項是對的的?A.數組myArray的長度已由3改為6,其中前3個元素的值不變,后3個元素的值為空。B.數組myArray的長度已由3改為6,其中前3個元素的值不變,后3個元素需再通過初始化后才干使用。C.數組myArray的長度沒有變化。D.數組myArray的長度已由3改為6,本來3個元素的值所有丟失。8.現有:1.classIfs{2.publicstaticvoidmain(String[]args){3.booleanstate=false;4.inti=2;5.if((++i>2)&&(state=true))6.i++;7.if((++i>4)ll(state=false))8.i++;9.System.out.println(i);10.}11.}結果為:A.6B.5C.4D.編譯失敗9.現有:3.publicclassTester{4.publicstaticvoidmain(String[]args){5.intx-5;6.Integerxl=x;Integerx2=x;7.intx3=newInteger(5);8.system..ut.print(x1.equals(x));9.system..ut.print(xl==x);lu.system..ut.print(x2.equals(xl));11.system..ut.print(x2==xl);12-system..ut.print(x2==x3);13-system..ut.print(x2.equals(x3));“l4.}15.}結果為:A.編譯失敗B.falsefalsetruetruetruetrueC.truetruetruetruetruetrueD.falsefalsetruetruetruefalseE.truefalsetruefalsefalsetrueF.運營時異常被拋出10.現有:1.classRectangle{2'publicstaticV.idmain(string[]args){3.int[]x=(1,2,3);4.x[1]=(x[1]>1)?x[2]:O;5.System.out.println(x[1]);6.}7.}結果為:A.3B.2C.1D.011.現有:1.classOutput(2.publicstaticvoidmain(String[]args){3.inti=5:4.System.out.print("4"+i+"");5.System.out.print(i+5+"7");6.System.out.println(i+"8");7.}8.}結果為:A.99722B.955758C.4510758D.45972212.以下哪種初始化數組的方式是錯誤的?A.String[]names={"zhang","wang","li");B.Stringnames[]=newString[3];names[O]="zhang";names[1]="wang";names[2]="li";C.String[3]names={"zhang","wang","li"};D.以上皆對的13.現有:1.classWhileTests{2.publicstaticvoidmain(String[]args){3.intX=5;4.while(++x<4){5.--x;6.}7.System.out.println("x="+x);8.}9.}結果是什么?A.X=6B.X=5C.X=2D.編譯失敗14.現有:1.classTest2f2.publicstaticvoidmain(String[]args){3.booleanX=true;4.booleany=false;5.shortZ=20;6.7.if((x==true)&&(y=true))z++;8.if((y==true)||(++z==22))z++;9.10.System.out.println("z="+z);11.}12.}結果是什么?A.Z=21B.z=22C.z=23D.Z=2415.現有:1.classFoo{2.publicstaticvoidmain(String[]args){3.intx=O;4.inty=4;5.for(intz=0;z<3;Z++;X++){6.if(x>1&++y<10)7.y++;8.}9.System.out.println(y);10.}11.}結果是什么?A.7B.8C.10D.12DBCCDBBDACCCABB第四章練習題(封裝)1.下列有關類、對象和實例的敘述,對的的是哪一項?A.類就是對象,對象就是類,實例是對象的另一個名稱,三者沒有差別B.對象是類的抽象,類是對象的具體化,實例是對象的另一個名稱C.類是對象的抽象,對象是類的具體化,實例是類的另一個名稱D.類是對象的抽象,對象是類的具體化,實例是對象的另一個名稱2.下列類Account的構造方法中,聲明對的的是?A.Account(Stringname){)B.Account(Stringname)C.Account(name)()D.NewAccount(Stringname){)3.類Account中字段聲明對的的是哪項?A.classAccountfname;amount;)B.classAccount{Stringname=l.0;doubleamount="Mike";)C.classAccountfStringname;doubleamount;)D.classAccount{Stringname="Mike,,,doubleamount=1000.0;)4.類Account中方法聲明對的的是哪一項?A.classAccountfdeposit();)B.classAccountfvoiddeposit();}C.classAccountfvoiddeposit(){))D.classAccountfvoiddeposit{))5.下列有關類聲明的代碼片段,哪一項是對的的?A.packageschool;importjava.sql.*;classStudent{}B.importjava.sql.*;packageschool;classStudentf)C.packageschool;classStudent{}importjava.sql.*jD.packageschool;importjava.sql.*;privateStringname;classStudent{}6.有關new關鍵字的描述對的的是哪項?A.創建對象實例的時候可以不使用new關鍵字B.new所創建的對象不占用內存空間C.new會調用類的構造器來創建對象D.new所創建的對象一定存在引用變量7.下列哪些是方法publicintadd(inta)的重載方法?(選三項)A.publicintadd(longa);B.publicvoidadd(inta)jC.publicvoidadd(longa);D.publicintadd(floata);8.我們定義一個Account類來描述銀行賬戶,銀行賬戶有賬戶名、金額等屬性特性,同時有存款、取款等行為特性,下述代碼適合描述的是哪項?A.classAccountfStringname;//賬戶Stringamount;//金額Account(Stringname)()voiddeposit(doublemount){//存款)voidwithdraw(doublemount){//取款})B.classAccountfStringname;//賬戶doujoleamount;//金額Account(doubleamount){)voiddeposit(doublemount){//存款)voidwithdraw(doublemount){//取款))C.classAccountfStringname;//賬戶doubleamount;//金額Account(Stringname){)voiddeposit(doublemount){//存款)voidwithdraw(doublemount){//取款))D.classAccountfStringname;//賬戶doubleamount;//金額Account(Stringname){)voiddeposit(){//存款)voidwithdraw(){//取款))9.現有:1.classBanana2f2.staticintX=2;3.'publicstaticvoidmain(String[]args){4.intX=2;5.Banana2b=newBanana2();6.b.go(x);7.}8.static{x+=x;)9.voidgo(intx){10.++x;11.System.out.println(x);12.}13.}結果為:A.7B.5C.3D.210.現有:1.classTestFoof2.intx;3.Stringy;4.intgetX(){returnx;}5.StringgetY(){returny;}6.voidsetX(intx){7.intZ=7:8.this.x=x;9.}10.}可以添加多少個修飾符來封裝此類?A.5B.4C.3D.211.定義枚舉如下:publicenumDirection{EAST,SOUTH,WEST,NORTH)F列對的使用該枚舉類型的語句是哪項?A.DirectionDirection=EAST;B.Directiondirection=Direction.WEST;C.inta-Direction.NORTH;nDirectiondirection=2;12.定義類:packageutils;publicclassRep{publicstaticStringtwice(Strings){returns+s;)}再定義另一個類Demo:l.//insertcodehere2.publicclassDemo{3.publicstaticvoidmain(String[]args){4.System.out.println(twice("Hello"));5.}6.}在第一行插入哪項代碼,可以使程序正常編譯和執行?A.importutils.*;B.importutils.Rep.*;C.importstaticutils.Rep.twice;D.staticimportutils.Rep.twice;13.現有:publicclassTestDemo{privateintX-2;staticinty=3;publicvoidmethod(){finalinti=100;intj=10;classCinner{publicvoidmymethod(){//Here}}}}在Here處可以訪問的變量是哪些?(選三項)A.XB.yC.jD.i14.現有如F包結構:com|一一X||一一Alpha.class||||一一yI|一一Beta.class||l--Gamma.class和類:classTest{Alphaa;Betab;Gammac;}哪三個必須加入到類Test中,以使其通過編譯?(選三項)A.packagey;B.packagecom;C.importcom.x.y.*;D.importcom.x.*;15.現有2個文獻:1.packagex;2.publicclassX{3.publicstaticvoiddoX(){System.out.print("doX");}4.}和:1.classFind{2.publicstaticvoidmain(String[]args){3.//insertcodehere4.}5.}哪兩行分別插入到類Find的第3行將編譯并產生輸出“doX”?(選兩項)A.doX();B.X.doX();C.x.X.doX();D.x.XmyX=newx.X();myX.doX();1D2A3C4C5A6C7ACD8C9C10D11B12C13ABD14BCD15CD第五章練習題(繼承)1.下列關于繼承優點的敘述對的的是哪幾項?(選三項)A.可以創建更為特殊的類型B.消除反復代碼C.執行效率高D.便于維護2.在子類中調用父類中被覆蓋的方法時需要使用哪項關鍵字?A.thisB.superC.newD.以上都不是3.現有publicclassParenttpublicvoidchange(intx){))publicclassChildextendsParent{//覆蓋父類change方法}下列哪個聲明是對的的覆蓋了父類的change方法?A.protectedvoidchange(intx){}B.publicvoidchange(intx,inty){}C.publicvoidchange(intx){}D.publicvoidchange(Strings){}4.假如想要一個類不能被任何類繼承的話,需要使用哪個關鍵字來修飾該類?A.abstractB.newC.staticD.final5.為了使得System.out.println()輸出對象引用的時候得到故意義的信我們應當覆蓋Objectt{-的哪個方法?A.equalsB.toStringC.hashCodeD.notify6.現有:publicclassPet()publicclassCatextendsPet{)執行代碼Catc-newCat();Petp=(Pet)c;后下列哪項是對的的?A.Petp=(Pet)c運營錯誤B.Petp=(Pet)c編譯錯誤C.Petp=(Pet)c止常執行D.以上都不對7.程序:publicclassPet{publicvoidspeak(){System.out.print("pet");}}publicclassCatextendsPet{pulolicvoidspeak(){System.out.print("Cat");}}publicclassDogextendsPet(publicvoidspeak(){System.out.print("Dog");}}執行代碼Pet[]p={newCat(),newDog(),nexPet()};for(inti=O;i<p.length;i++)p[i].speak();后輸出的內容是哪項?B.CatCatCatC.CatDogDogD.CatDogPet8.現有:1.classDog{)2.classHarrierextendsDog{)3.4.classDogTest{5.publicstaticvoidmain(String[]args)(6.Dogdl=newDog();7.Harrierhl=newHarrier();8.Dogd2=hl;9.Harrierh2=(Harrier)d2;10.Harrierh3=d2;11.}12.}下面哪一項是對的的?A.2個Dog對象被創建B.2個Harrier對象被創建C.3個Harrier對象被創建D.編譯失敗9.現有:2.classCat{3.Cat(intc){System.out.print{"cat"+c+"");}4.}5.classSubCatextendsCat{6.SubCat(intc){super(5);System.out.print("cable");}7.SubCat(){this(4);}8.publicstaticvoidmain(String[]args){9.SubCats=newSubCat();10.}11.}結果為:A.cat5B.cableC.cat5cableD.cablecat510.現有:1.classGuy{Stringgreet(){return"hi";}}2.classCowboyextendsGuy(Stringgreet()(return"howdy¨;))3.classSurferextendsGuy(Stringgreet()(return"dude!";}}4.5.classGreetings{6.publicstaticvoidmain(String[]args){7.Guy[]guys=(newGuy(),newCowboy(),newSurfer()};8.for(Guyg:guys)9.System.out.print(g.greet()};10.}11.}結果為:A.hihowdydude!B.運營時異常被拋出。c.第7行出現一個錯誤,編譯失敗。D.第8行出現一個錯誤,編譯失敗。11.現有:1.classOver{2.intdolt(longx){return3;}3.}4.5.classUnderextendsOver{6.//insertcodehere7.}和四個方法:shortdolt(inty){return4;}intdolt(longXrlongy){return4;}privateintdolt(shorty){return4;}protectedintdolt(longx){return4;}分別插入到第6行,有幾個可以通過編譯?A.1B.2C.3D.412現有1.classBeverage{2.Beverage(){System.out.print("beverage");}3.}4.classBeerextendsBeverage{5.publicstaticvoidmain{string[]args){6.Beerb=newBeer(14);7.}8.publicintBeer(intx){9.this();10.System.out.print("beerl");11.}12.publicBeer(){System.out.print("beer2");}13.}結果是什么?A.beerlbeverageB.beer2beverageC.beveragebeer2beerlD.編譯失敗13.現有:1.classBird{2.voidtalk(){System.out.print("chirp");}3.}4.classParrot2extendsBird{5.protectedvoidtalk(){System.out.print("hello");6.publicstaticvoidmain(String[]args){7.Bird[]birds={newBird(),newParrot2()};8.for(Birdb:birds)9.b.talk();10.}11.}結果是什么?A.chirpchirpB.hellohelloC.chirphelloD:編譯錯誤14.現有:1.classSuperFoo(2.SuperFoodoStuff(intx){3.returnnewSuperFoo();4.}5.}6.7.classFooextendsSuperFoo{8.//insertcodehere9.}和四個聲明:FoodoStuff(intx){returnnewFoo();}FoodoStuff(intx){returnnewSuperFoo();}SuperFoodoStuff(intx){returnnewFoo();}SuperFoodoStuff(inty){returnnewSuperFoo();}分別插入到第8行,有幾個可以通過編澤?A.1B.2C.3D.415.現有:1.classHorseRadish{2.//tectedHorseRadish(intx){4.System.out.println("bokchoy");5.}6.}7.classWasabiextendsHorseRadish{8.publicstaticvoidmain(String[]args)(9.Wasabiw-newWasabi();10,}11.}分別插入到第2行,哪兩項允許代碼編譯并產生”bokchoy”輸出結果?(選兩項)A.protectedHorseRadish(){this(42);}B.protectedHorseRadish(){}C.//justacommentD.protectedHorseRadish(){newHorseRadish(42);}參考答案.1ABD2B3C4DSB6A7D8D9C10A11D12D13C14D15AD第六章練習題(抽象類與接口)1.下列有關抽象類的敘述對的的是哪項?A.抽象類中一定具有抽象方法B.抽象類的聲明必須包含abstract關鍵字C.抽象類既能被實例化也能被繼承D.抽象類中不能有構造方法2.下列有關抽象方法敘述對的的是哪項?(選兩項)A.抽象方法和普通方法同樣,只是前面多加一個修飾符asbtractB.抽象方法沒有方法體c.抽象方法可以包含存任何類中D.包含抽象方法的類的具體子類必須提供具體的覆蓋方法3.下列有關接口的敘述錯誤的是哪項?A.接口中只能包含抽象方法和常量B.一個類可以實現多個接口C.類實現接口時必須實現其中的方法D.接口不能被繼承4.下列關于接口的定義哪項是對的的?A.interfaceC{inta;)B.publicinterfaceAimplementsB{)C.publicinterfaceA{inta();)D.abstractinterfaceD{)5.現有:1.interfaceAnimalf2.voideat();3.}4.5.//insertcodehere6.7.publicclassHouseCatimplementsFeline{8.publicvoideat(){}9.}和以下三個接口聲明:interfaceFelineextendsAnimal()interfaceFelineextendsAnimal{voideat();}interfaceFelineextendsAnimal{voideat(){}}分別插入到第5行,有多少行可以編譯?A.0B.1C.2D.36.現自:1.interfaceColor{}2.interfaceWeight{}3.//insertcodehere和以下足六個聲明:classBoatextendsColor,extendsWeight{}classBoatextendsColorandWeight{}classBoatextendsColor,Weight{}classBoatimplementsColor,implementsWeight{}classBoatimplementsColorandWeight{}classBoatimplementsColor,Weight{}分別插入到第3行,有多少行可以編譯?A.0B.1C.2D.37.現有:1.abstractclassColor{2.protectedabstractStringgetRGB();3.}4.5.publicclassBlueextendsColor{6.//insertcodehere7.}和四個聲明:publicStringgetRGB(){return"blue";}StringgetRGB(){return"blue";)privateStringgetRGB(){return"blue";}protectedStringgetRGB(){return"blue";)分別插入到第6行,有幾個可以通過編譯?A.0B.1C.2D.38.現有:1.abstractclassColor2{2.//insertcodehere3.}4.5.publicclassBlue2extendsColor2{6.publicStringgetRGB(){return"blue";}7.}和4個聲明:publicabstractStringgetRGB();abstractStringgetRGB();privateabstractStringgetRGB();protectedabstractStringgetRGB();分別插入到第2行,有多少行可以編譯?A.OB.1C.2D39.現有:1.classTop{2.staticintX=l;3.publicTop(){x*=3;)4.}5.classMiddleextendsTop{6.publicMiddle(){x+=l;}7.publicstaticvoidmain(String[]args){8.Middlem=newMiddle();9.System.out.println(x)j10.}11.}結果是什么?A.2B.3C.4D.編譯失敗10.現有兩個文獻:1.packageX;2.publicclassX{3.publicstaticvoiddoX(){System.out.print("doX");}4.}和:1.importx.X;2.classFind{3.publiCstaticvoidmain(String[]args){4.XmyX=newX();myX.doX();5.X.doX();6.x.X.aoX():7.x.XmyX2=newx.X();myx2.doX();8.}’9.}結果為:A.Find類中第4行出現一個錯誤,編譯失敗。B.Find類第5行出現一個錯誤,編譯失敗。C.Find類第6行出現一個錯誤,編譯失敗。D.doXdoXdoXdoX11.現有:1.classTree{2.privatestaticStringtree="tree";3.StringgetTree(){returntree;}4.}5.classElmextendsTree{6.privatestaticStringtree="elm";7.publicstaticvoidmain(String[]args){8.newElm().go(newTree());9.}10.voidgo(Treet){11.Strings=t.getTree()+Elm.tree+tree+(newElm().getTree());12.System.out.println(s);結果為:A.elmelmelmelmB.treeelmelmelmC.treeelmelmtreeD.treeelmtreeelm12.現有:1.interfaceAnimal{2.voideat();3.}4.5.//insertcodehere6.7.publicclassHouseCatextendsFeline{8.publicvoideat(){}9.}和五個申明abstractclassFelineimplementsAnimal{}abstractclassFelineimplementsAnimal{voideat();}abstractclassFelineimplementsAnimal{publicvoideat();}abstractclassFelineimplementsAnimal{publicvoideat(){}}abstractclassFelineimplementsAnimal{abstractpublicvoideat();}A.1B.2C.3D.4·13.現有:1.interfaceI{voidgo();}2.3.abstractclassAimplementsI{}4.5.classCextendsA{6.voidgo(){)7.}結果是什么?A.代碼通過編譯B.由于第1行的錯誤導致編譯失敗C.由于笫3行的錯誤導致編譯失敗D.由于第6行的錯誤導致編譯失敗14.現有:1.interfaceData{publicvoidload();}2.abstractclassInfo{publicabstractvoidload();}下列類定義中對的使用Data和Info的是哪項?A.publicclassEmployeeimplementsInfoextendsData{publicvoidload(){/*dosomething*/))B.publicclassEmployeeextendsInf.implementsData{publicvoidload(){/*dosomething*/}}c.publicclassEmpl.yeeimplementsInfextendsData{publicvoidData.1oad(){*dosomething*/}publicvoidload(){/*dosomething*/})D.publicclassEmployeeextendsInfimplementsData{publicvoidData.1oad(){/*dosomething*/)publicvoidinfo.1oad(){/*dosomething*/))15.下列代碼對的的是哪項?A.publicclassSessionimplementsRunnable,Clonable{publicvoidrun();publicObjectclone();}B.publicclassSessionextendsRunnable,Cloneable{publicvoidrun(){/*dosomething*/}publicObjectclone(){/*makeacopy*/}}C.publicabstractclassSessionimplementsRunnable,Clonable{pu)olicvoidrun(){/*dosomething*/}publicObjectclone(){/*makeacopy*/}}D.publicclassSessionimplementsRunnable,implementsClonable{publicvoidrun(){/*dosomething*/}publicObjectclone(){/*makeacopy*/}}參考答案1B2BD3D4C5C6B7C8D9C10D11C12C13D14B15C第七章練習題(多態)1.下列自‘關多態的敘述對的的是哪項?(選兩項)A.父類的引用指向子類的實例是一種多態B.子類的引用指向子類的實例是一種多態c.接口的引用指向實現該接口類的實例是一種多態D.抽象類的引用指向抽象類的實例是一種多態2.Java中方法綁定有哪些形式?(選兩項)A.編譯時刻綁定B.運營時刻綁定c.靜態綁定D.私有綁定3.表達式"hello"instanceofString返回的值是哪項?A.trueB.falseC.1D.04.求平方根方法publicstaticdoublesqrt(doublea)可以傳遞的參數類型有哪些?(選三項)A.byteB.floatC.StringD.long5.涉及類MyClass的方法署名足publicvoidfind(MyClassa),那么該方法可接受的實際參數的類型可以是哪些?(選兩項)A.MyClass類的類型B.MyClass子類的類型C.Object類型D.所有接口6.使用下列哪些關鍵字可以鑒定實參的具體類型?A.asB.isC.instanceofD.extends7.現有:classPencil{publicvoidwrite(Stringcontent){System.out.println("Write"+content);}}classRubberPencilextendsPencil{publicvoiderase(Stringcontent){System.out.println("Erase"+content);}}執行下列代碼的結果是哪項?Pencilpen=newRubberPencil();pen.write("Hello");pen.erase("Hello");A.WriteHelloEraseHelloB.EraseHelloWriteHelloC.編譯錯誤D.運營時拋出異常8.現有:classPencil{publicvoidwrite(Stringcontent){System.out.println("Write"+content);}}classRubberPencilextendsPencil{publicvoidwrite(Stringcontent){System.out.println("RubberWrite"+content);}publicvoiderase(Stringcontent){System.out.println("Erase"+content);}}執行下列代碼的結果是哪項?Pencilpen=newRubberPencil();pen.write("Hello");A.WriteHelloB.RubberWriteHelloC.編譯錯誤D.運營時拋出異常9下列哪些方法是在編譯時刻綁定的?(選三項)A.靜態方法B.private方法C.final方法D.非private方法10.現有:classPencil{publicvoidwrite(Stringcontent){System.out.println("Write",+content){}}classRubberPencilextendsPencil{publicvoidwrite(Stringcontent){System.out.println("RubberWrite"+content);}publicvoiderase(Stringcontent){System.out.println("Erase"+content);}}執行下列代碼的結果是哪項?Pencilpen=newPencil();((RubberPencil)pen).write("Hello");A.WriteHelloB.RubberWriteHelloc.編譯失敗

溫馨提示

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

評論

0/150

提交評論