JAVA期末復(fù)習(xí)資料1_第1頁
JAVA期末復(fù)習(xí)資料1_第2頁
JAVA期末復(fù)習(xí)資料1_第3頁
JAVA期末復(fù)習(xí)資料1_第4頁
JAVA期末復(fù)習(xí)資料1_第5頁
已閱讀5頁,還剩99頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

JAVA期末復(fù)習(xí)資料1JAVA期末復(fù)習(xí)資料1JAVA期末復(fù)習(xí)資料1V:1.0精細整理,僅供參考JAVA期末復(fù)習(xí)資料1日期:20xx年X月一、判斷題1、在main方法中可以直接調(diào)用非靜態(tài)的方法。 (F)2、方法重載就是一個類中有多個同名但有不同形參和方法體的方法。 (T)3、一個Java源程序可有多個類,但只僅有一個public類,而且源程序名與public類名相同。 (T)4、Java的源代碼中定義幾個類,編譯結(jié)果就生成幾個以.class為后綴的字節(jié)碼文件。(T)5、方法中的形參可以和方法所屬類的屬性同名。(T)6、Java類中不能存在同名的兩個成員函數(shù)。(F)7、可以用new來創(chuàng)建一個類的實例,即“對象”。(T)8、Java中類的構(gòu)造函數(shù)只能有一個。(F)9、類的靜態(tài)變量被該類的所有對象共享。 (T)10、不管定義與否,任何類都有一個不帶參數(shù)的構(gòu)造方法。(F)11、一個類可以訪問另一個類的私有成員。(F)12、構(gòu)造方法沒有返回值,因此在定義構(gòu)造方法時,其返回值類型必須聲明為void。(F)13、對于類變量,可以通過類名直接訪問,也可以通過該類的對象訪問。(T)14、構(gòu)造方法的名字必須與類名相同。(T)15、一個類的私有變量可以在同一個包的不同類中使用。(F)16、實例變量不能在類方法中直接引用,而類變量可以在實例方法中直接引用。(T)17、抽象類可有構(gòu)造方法,因此也能用new進行實例化。 (F)18、一個類可繼承多個父類,實現(xiàn)多個接口。 (F)19、用final修飾的類不能被繼承。 (T)20、接口中的成員變量全部為常量,方法為抽象方法。(T)21、接口無構(gòu)造器,不能有實例,也不能定義常量。(F)22、java的類不允許嵌套定義。(F)23、在接口中所有的方法都是抽象方法,所以必須在方法定義之前加上abstract關(guān)鍵字。(F)24、抽象類中不能包含final修飾的方法。 (T)25、子類可以繼承父類所有的成員變量及成員函數(shù)。 (F)26、接口可以被另一個接口繼承。 (T)27、接口中只能定義符號常量和抽象方法。 (T)28、final類不能派生子類,final方法不能被覆蓋。 (T)29、如果類A的一個方法m的訪問權(quán)限是默認的,則m可以被同一個包中的其他類訪問,也可以被其它包中A的子類訪問。 (F)30、所有的類都可以被繼承。 (F)31、java中是單繼承,但一個類可以實現(xiàn)多個接口。 (T)32、如果一個類中包含抽象方法,則這個類也必須定義為抽象類。 (T)33、如果在子類中改寫從父類繼承的方法,則子類中定義的訪問權(quán)限不能低于父類中該方法的訪問權(quán)限。 (T)34、一個接口中的所有方法都是抽象的。 (T) 35、一個抽象的類不能直接用new命令創(chuàng)建對象。 (T)36、一個子類中可以定義與父類中名字相同,而參數(shù)不同的方法,此時子類的方法會改寫從父類繼承來的方法。 (F)37、JFrame,JPanel,JApplet和JButton四種組件都屬于容器組件。 (F)38、BorderLayout是面板的缺省布局管理器。 (F)39、BorderLayout最多可以使用5個組件。(T)40、一個面板(JPanel)不能被加入另一個面板(JPanel)中。(F)41、菜單需要一個JMenuBar對象,以使他們能被添加到JFrame。(T)42、標(biāo)簽(JLabel)可以在屏幕上顯示一個字符或一幅圖片。(T)43、BorderLayout是容器javax.swing.JFrame默認的布局管理器。(T)44、JTextArea可以用來接收多行文本的輸入。(T)45、在Java坐標(biāo)系統(tǒng)中,X值從左向右增加。(T)46、BorderLayout布局管理器把組件排列在北、南、東、西和中間區(qū)域。(T)47、邊界布局管理器(BorderLayout)把容器分成5個區(qū)域,每個區(qū)域只能放一個組件。(T)48、一個組件可以注冊一個或多個事件監(jiān)聽器。(T)二、選擇題1、以public修飾的類如:publicclassfish{…}則fish(A)A)可被其它程序包中的類使用 B)僅能被本程序包中的類使用C)不能被任意其它類使用 D)不能被其它類繼承2、下述哪個說法是不正確的(

C)A)局部變量在使用之前無需初始化,因為有該變量類型的默認值B)類成員變量由系統(tǒng)自動進行初始化,無需初始化C)參數(shù)的作用域就是所在的方法D)for語句中定義的變量,當(dāng)for語句執(zhí)行完時,該變量就消亡了3、使用如下哪個保留字可以使只有在定義該類的包中的其他類才能訪問該類(

D)A、abstractB、privateC、protectedD、不使用保留字4、Java源文件和編譯后的文件擴展名分別為(B)A).class和.java B).java和.classC).class和.class D).java和.java5、下列說法中,不正確的是(A)A)一個java源程序編譯通過后,得到的結(jié)果文件數(shù)也只有一個。B)一個java源程序經(jīng)過編譯后,得到的文件的擴展名一定是.class。C)一個java源程序只能有一個publicclass類定義,且源文件的名字與publicclass的類名相同,擴展名必須是.java。D)一個java源程序可以包含多個類。6、System.out.print(“1”+2)打印到屏幕的結(jié)果是(B) A) 3 B) 12 C)1+2 D) 47、假設(shè)intx=4,y=100,下列語句的循環(huán)體共執(zhí)行幾次?(C)while(y/x>3){if(y%x>3){x=x+1;}else{y=y/x;}}A)1次B)2次C)3次D)4次8、下列說法中,不正確的是(B)A、一個java源程序文件中,只能有一個public類。B、一個java源程序文件中,只能有一個package語句。C、一個java源程序文件中,可以有多個import語句。D、一個java源程序文件中,只能有一個類中可以有main方法。9、閱讀下列代碼段,選出該代碼段的正確的文件名(C)。classA{voidmethodl(){System.out.println(”methodlinclassA”):}}publicclassBvoidmethod2(){System.out.println(”method2inclassB”):}publicstaticvoidmain(Stringargs[]){System.out.println(”main()inclassB”):}}A、A.javaB、A.classC、B.classD、B.java10、編譯下面源程序會得到哪些文件(C)classA1{}classA2{}PublicclassB{Publicstaticvoidmain(Stringargs[]){}}A、只有B.class文件B、只有A1.Class和A2.class文件C、有A1.class、A2.Class和B.class文件D、編澤不成功11、關(guān)于方法main()的說法哪個正確(

C)A.方法main()只能放在公共類中B.main()的頭定義可以根據(jù)情況任意更改C.一個類中可以沒有main()方法D.所有對象的創(chuàng)建都必須放在main()方法中12、下列關(guān)于類、包和源文件的描述中,不正確的一項是(D)。A、一個包可以包含多個類B、一個源文件中,可能有一個公共類C、屬于同一個包的類在默認情況下可以相互訪問D、系統(tǒng)不會為源文件創(chuàng)建默認的包13、下述哪一組方法,是一個類中方法重載的正確寫法

(A)A、intaddValue(inta,intb){returna+b;}floataddValue(floata,floatb){returna+b;}B、intaddValue(inta,intb){value=a+b;}floataddValue(inta,intb){return(float)(a+b);}C、intaddValue(inta,intb){returna+1;}intaddValue(inta,intb){returna+b;}D、intaddValue(inta,intb){returna+b;}intaddValue(intx,inty){returnx+y;}14、關(guān)于方法的重載,下列說法哪一個是正確的? (A)A、方法的重載是指一個類中多個方法使用相同的名字,但參數(shù)不同。B、方法的重載是指一個類中多個方法使用相同的名字,且參數(shù)相同。C、方法的重載是指子類和父類中兩個方法使用相同的名字,但參數(shù)不同。D、方法的重載是指子類和父類中兩個方法使用相同的名字,且參數(shù)相同。15、下列關(guān)于類、包和源文件的說法中,錯誤的一項是(D)。A、一個文件可以屬于一個包B、一個包可包含多個文件C、一個類可以屬于一個包D、一個包只能含有一個類16、下列關(guān)于作用域的說法中,正確的一個是(B)。A、不同方法中聲明的不同變量,可以互相訪問B、在不同方法中可以聲明相同數(shù)據(jù)類型的同名局部變量C、在同一個類中可以聲明相同數(shù)據(jù)類型的同名類變量D、在同一個程序塊中可以聲明相同數(shù)據(jù)類型的同名變量17、下列描述中不正確的一項是(B)。A、import語句告訴Java用戶需要哪個包(package)中的類B、所有的類必須實例化,才能調(diào)用它的數(shù)據(jù)成員和方法C、package語句用于將源文件存入所指定的包中D、System類不可能實例化,它的所有方法都是通過類變量來調(diào)用的18、為了區(qū)分重載多態(tài)中同名的不同方法,要求(A)。A、形式參數(shù)個數(shù)或者類型不同B、返回值類型不同C、調(diào)用時用類名或?qū)ο竺銮熬YD、形式參數(shù)名稱不同19、下列說法中,正確的一個是(A)。A、類成員變量在使用之前可以不初始化B、局部變量在使用之前可以不初始化C、參數(shù)變量在使用之前必須初始化D、所有的變量在使用之前必須初始化20、下面哪一項的方法調(diào)用能填入程序中的橫線處(

C)classEx7{ staticvoidmethod1(){ System.out.println("inEx7"); }}classEx8{ voidmethod2(){ System.out.println("inEx8"); }}publicclassEx9{ publicstaticvoidmain(String[]args){ Ex9e1=newEx9(); e1.method3(); } publicvoidmethod3(){ Ex7e2=newEx7(); Ex8e3=newEx8(); }}A、method1();B、Ex7.method1();C、Ex7.method1();D、e2.Method1();method2():Ex8.method2();e3.method2();Ex8.method2();21、若編譯和運行下列代碼,出現(xiàn)的結(jié)果將是(C)classMyClass{

inti=0;publicintmyMethod(intx){

returni+x;

}

publicstaticvoidmain(Stringargs[]){

System.out.println(myMethod(10));}}A、0B、10C、編譯出錯D、以上答案都不對22、為AB類的一個無形式參數(shù)無返回值的方法method書寫方法頭,使得用類名AB作為前綴就可以調(diào)用它,該方法頭的形式為(A)A)staticvoidmethod() B)publicvoidmethod()C)finalvoidmethod() D)abstractvoidmethod()23、下面程序中類ClassDemo中定義了一個靜態(tài)變量sum,分析程序段的輸出結(jié)果。(C)classClassDemo{publicstaticintsum=1;publicClassDemo(){sum=sum+5;}}classClassDemoTest{publicstaticvoidmain(Stringargs[]){ClassDemodemo1=newClassDemo();ClassDemodemo2=newClassDemo();System.out.println(demo1.sum);}}A)0 B)6 C)11 D)224、給出如下的程序,A-E選項中與構(gòu)造方法ConstOver重載的兩個構(gòu)造方法是:A,C。publicclassConstOver{publicConstOver(intx,inty,intz){}}A.ConstOver(){}B.ProtectedintConstOver(){}C.PrivateConstOver(intz,inty,bytex){}D.publicObjectConstOver(intx,inty,intz){}E.publicvoidConstOver(bytex,bytey,bytez){}25、對象使用時,下面描述錯誤的是(B)

(A)通過“.”運算符調(diào)用成員變量和方法

(B)通過成員變量的訪問權(quán)限設(shè)定限制自身對這些變量方法的調(diào)用

(C)將一個對象申明為類的成員時,必須在使用前為其分配內(nèi)存

(D)在方法中使用對象作為參數(shù)時,傳遞的是對象的地址26、給出如下代碼:

classTest{

privateintm;

publicstaticvoidfun(){

//somecode...

}

}如何使成員變量m被函數(shù)fun()直接訪問(C)

(A)將privateintm改為protectedintm

(B)將privateintm改為publicintm

(C)將privateintm改為staticintm

(D)將privateintm改為intm27、MAX_LENGTH是int型public成員變量,變量值保持為常量100,用簡短語句定義這個變量。(C)

(A)publicintMAX_LENGTH=100;

(B)finalintMAX_LENGTH=100;

(C)finalpublicintMAX_LENGTH=100;

(D)publicfinalintMAX_LENGTH=100.28、構(gòu)造方法何時被調(diào)用(B)

(A)類定義時(B)創(chuàng)建對象時

(C)調(diào)用對象方法時(D)使用對象的變量時29、指出下列程序運行的結(jié)果(B)

publicclassExample{

Stringstr=newString("good");

char[]ch={'a','b','c'};

publicstaticvoidmain(Stringargs[]){

Exampleex=newExample();

ex.change(ex.str,ex.ch);

System.out.print(ex.str+"and");

System.out.print(ex.ch);

}

publicvoidchange(Stringstr,charch[]){

str="testok";

ch[0]='g';

}

}

(A)goodandabc(B)goodandgbc

(C)testokandabc(D)testokandgbc

30、給出下面代碼段

1)publicclassTest{

2)intm,n;

3)publicTest(){}

4)publicTest(inta){m=a;}

5)publicstaticvoidmain(Stringarg[]){

6)Testt1,t2;

7)intj,k;

8)j=0;k=0;

9)t1=newTest();

10)t2=newTest(j,k);

11)}

12)}

哪行將引起一個編譯時錯誤(

D)

(A)line3(B)line5

(C)line6(D)line10

31、函數(shù)重載是指(A)

(A)兩個或兩個以上的函數(shù)取相同的函數(shù)名,但形參的個數(shù)或類型不同

(B)兩個以上的函數(shù)取相同的名字和具有相同的參數(shù)個數(shù),但形參的類型可以不同

(C)兩個以上的函數(shù)名字不同,但形參的個數(shù)或類型相同

(D)兩個以上的函數(shù)取相同的函數(shù)名,并且函數(shù)的返回類型相同32、對于下列代碼:

publicclassParent{

publicintaddValue(inta,intb){

ints;

s=a+b;

returns;

}

}

classChildextendsParent{

}

下述哪些方法可以加入類Child(D)

(A)intaddValue(inta,intb){//dosomething...}

(B)publicvoidaddValue(inta,intb){//dosomething...}

(C)publicintaddValue(inta){//dosomething...}

(D)publicintaddValue(inta,intb)throwsMyException{//dosomething...}

33、對于下列代碼:

1)classPerson{

2)publicvoidprintValue(inti,intj){//...}

3)publicvoidprintValue(inti){//...}

4)}

5)publicclassTeacherextendsPerson{

6)publicvoidprintValue(){//...}

7)publicvoidprintValue(inti){//...}

8)publicstaticvoidmain(Stringargs[]){

9)Persont=newTeacher();

10)t.printValue(10);

11)}

第10行語句將調(diào)用哪行語句?(D)

(A)line2(B)line3

(C)line6(D)line734、如果在一個類中定義了如下兩個方法,則選項中正確的說法是(A) voidout() { System.out.println();} voidout(intx) { System.out.println(x);}A、這種定義是正確的,是方法的重載。B、這種定義是正確的,是方法的改寫。C、此種定義是錯誤的,一個類中不能定義兩個名字相同的方法。D、此種定義是錯誤的,第二個方法應(yīng)該和第一個方法的參數(shù)相同。35、下面哪一項是Java實現(xiàn)動態(tài)多態(tài)性的具體手段(A)A) 重載; B) 覆蓋(重寫) C) 接口 D) 抽象類36、下列說法哪個是正確的(C)A、子類不能定義和父類同名同參數(shù)的方法B、子類只能繼承父類的方法,而不能重載C、重載就是一個類中有多個同名但有不同形參的方法D、子類只能覆蓋父類的方法,而不能重載37、下列哪個類聲明是正確的?(D)

A)abstractfinalclassHI{???} B)abstractprivatemove(){???}

C)protectedprivatenumber; D)publicabstractclassCar{???}38、下面的是關(guān)于類及其修飾符的一些描述,不正確的是(B)。A、abstract類只能用來派生子類,不能用來創(chuàng)建abstract類的對象B、abstract不能與final同時修飾一個類C、final類不但可以用來派生子類,也可以用來創(chuàng)建final類的對象D、abstract方法必須在abstract類中聲明,但abstract類定義中可以沒有abstract方法39、下列輸出的結(jié)果是(A)。classAA{voidShow(){System.out.println(“類AA”);}}classBBextendsAA{voidShow(){System.out.println(“類BB”);}}publicclassex7{publicstaticvoidmain(Stringargs[]){AAa=newAA();BBb=newBB();a.Show();b.Show();}}A、類AAB、類BBC、類BBD、類AA類BB類AA類BB類AA40、下列關(guān)于接口的說法不正確的是(C)A、接口所有的方法都是抽象的B、接口所有的方法一定都是public屬性的C、用于定義接口的關(guān)鍵字是implementsD、接口是JAVA中的特殊類,包含靜態(tài)變量和抽象方法41、下列說法中,哪一個是正確的

(C)A、抽象類中定義的方法一定是抽象的。B、抽象類中一定存在抽象的方法。C、抽象類中可以沒有抽象方法。D、抽象類的子類一定要實現(xiàn)抽象類中的抽象方法。42、假定有程序段:(D)classSupperClass{publicintaddValue(inta,intb){returna+b;}}classSubClassextendsSuperClass{intvalue;//此處插入代碼}下述哪個方法可以插入到類SubClass中而不會出現(xiàn)編譯錯誤?A、intaddValue(inta,intb){returna+b+1;}B、publiclongaddValue(inta,intb){value=a+b+1;}C、protectedintaddValue(inta,intb){returna+b+1;}D、publicintaddValue(inta,intb){returna+b+1;}43、若編譯和運行下列代碼,其結(jié)果將是(C)classCircle{ doubleradius=1; publicCircle(doubler) { radius=r; } publicdoublearea() { return3.14*radius*radius; }}publicclassMyTest{publicstaticvoidmain(Stringargs[]){Circlec1=newCircle();System.out.println(c1.area());}}A、3.14B、0C、編譯出錯D、以上答案都不對44、下列說法中不正確的是(C)A、如果一個方法中定義的變量名與該方法所在類的成員變量同名,則在該方法中無法訪問同名的類成員變量。B、在java接口中定義的方法一定是抽象方法。C、java接口中不能定義變量。D、java接口沒有構(gòu)造方法。45、有程序如下classSuperClass{ privateinti=10; voidprintI() { System.out.println(i); }}classSubClassextendsSuperClass{ inti=20; publicvoidprintA() { super.printI(); }}classTest{ publicstaticvoidmain(String[]args) { SubClassc1=newSubClass(); c1.printA(); }}編譯并運行程序,其結(jié)果將是(A)A、10B、20C、編譯出錯D、046、用abstract定義的類(D)A)可以被實例化 B)不能派生子類C)不能被繼承 D)只能被繼承47、如果任何包中的子類都能訪問父類中的成員,那么應(yīng)使用哪個限定詞(C)

(A)public(B)private

(C)protected(D)default48、下面的代碼合法的是:(B)A)publicabstractmethod();B)publicabstractvoidmethod();C)publicabstractvoidmethod(){};D)publicvoidmethod()implementsabstract;49、以下是接口I的定義:interfaceI{ voidsetValue(intval); intgetValue();}以下哪個代碼能通過編譯?(A)A)classAextendsI{intvalue;voidsetValue(intval){value=val;}intgetValue(){returnvalue;}}B)classBimplementsI{intvalue;voidsetValue(intval){value=val;}}C)interfaceCextendsI{ voidincrement();}D)interfaceDimplementsI{ voidincrement();}50、下列關(guān)于接口和抽象類的說法不正確的是?(A)A)接口也有構(gòu)造方法B)實現(xiàn)接口時,需對接口中的所有方法都要實現(xiàn)C)抽象類也有構(gòu)造方法D)抽象類可以派生出子類51、對于下列代碼:publicclassSupperClass{publicintsum(inta,intb){returna+b;}}classSubClassextendsSupperClass{}下述哪個方法可以加入類SubClass

(D)A)intsum(inta,intb){returna+b;}B)publicvoidsum(inta,intb){return;}C)publicfloatsum(inta,intb){returna+b;}D)publicintsum(inta,intb){returna+b;}52、對于下列代碼:publicclassParent{publicintaddValue(inta,intb){ints;s=a+b;returns;}}classChildextendsParent{}下述哪些方法可以加入類Child(D)A)intaddValue(inta,intb){//dosomething...}B)publicvoidaddValue(inta,intb){//dosomething...}C)publicintaddValue(inta){//dosomething...}D)publicintaddValue(inta,intb){//dosomething...}53、下列說法中,錯誤的一項是(C)。A、內(nèi)部類是被定義于另一個類中的類B、使用內(nèi)部類實現(xiàn)監(jiān)聽器,在編程時比較容易實現(xiàn)C、內(nèi)部類對象可以訪問外部類的成員方法和變量,包括私有成員D、由于內(nèi)部類定義于另一個類,因此不適用于AWT的事件處理機制54、下列說法哪個是不正確的

(B)A、一個組件可以注冊多個事件監(jiān)聽器B、一個監(jiān)聽器只能監(jiān)聽一個組件C、一個組件可以引發(fā)多種事件D、一個監(jiān)聽器可以監(jiān)聽處理多種事件55、下面說法錯誤的是(B)A)單擊JCheckBox(復(fù)選框)產(chǎn)生ItemEvent事件,并由ItemListener處理。B)處理JButton和JTextField事件監(jiān)聽器接口都是ActionListener。C)一個面板(JPanel)

可以加入到另一個面板(JPanel)中。D)在BorderLayout中,添加到NORTH區(qū)的兩個按鈕將并排顯示。56、下列哪一個方法是自動調(diào)整窗口的大小(C)A、setSize()B、setDefaultClose()C、pack()D、setVisible()三、程序閱讀題1、閱讀下面的程序:成功,結(jié)果:6classtest{publicstaticvoidmain(String[]args){inti=1;intAll=0;for(;i<=10;i++){if(i%6==0)break;if(i%2==0){i=i+2;continue;}All=All+i;}System.out.println(All);}}上面的程序編譯是否成功如果編譯出錯,指出哪行出錯,并說明理由;如果編譯正確,運行結(jié)果是什么

2、寫出下列程序代碼的運行結(jié)果:HellopublicclassExample{Yava Stringstr=newString("Hello"); charch[]={'J','a','v','a'}; publicstaticvoidmain(Stringargs[]){ Exampleex=newExample(); ex.change(ex.str,ex.ch); System.out.println(ex.str);System.out.println(newString(ex.ch)); } publicvoidchange(Stringstr,charch[]){str="World";ch[0]='Y'; }}3、仔細閱讀下面的程序代碼,編譯和運行后,請寫出該程序的輸出結(jié)果。classGame{Gameconstructor Game(inti){BoardGameconstructor System.out.println("Gameconstructor");Chessconstructor }}classBoardGameextendsGame{ BoardGame(inti){ super(i); System.out.println("BoardGameconstructor"); }}publicclassChessextendsBoardGame{ Chess(){ super(11); System.out.println("Chessconstructor"); } publicstaticvoidmain(String[]args){ Chessx=newChess(); }}4、仔細閱讀下面的程序代碼,編譯和運行后,請寫出該程序的輸出結(jié)果。importjava.util.*;WindplayingclassInstrument{ protectedvoidplay(){System.out.println("Instrumentplaying");} staticvoidtune(Instrumenti){ i.play(); }}//Windobjectareinstruments//becausethenhavethesameinterface:classWindextendsInstrument{ protectedvoidplay(){System.out.println("Windplaying");} publicstaticvoidmain(String[]args){ Windflute=newWind(); Instrument.tune(flute); }}5、仔細閱讀下面的程序代碼,編譯和運行后,請寫出該程序的輸出結(jié)果。interfaceProduct{ThisProductismadebyMyCorp staticfinalStringMAKER="MyCorp";Itcost$5 staticfinalStringPHONE="7963628";ToorderfromMyCorpcall7963628. publicintgetPrice(intid);Eachitemcosts$5}classShoeimplementsProduct{ publicintgetPrice(intid){ if(id==1) return5; else return10; } publicStringgetMaker(){ returnMAKER; }}publicclassStore{ staticShoehightop; publicstaticvoidinit(){ hightop=newShoe(); } publicstaticvoidmain(String[]args){ init(); getInfo(hightop); orderInfo(hightop); } publicstaticvoidgetInfo(Shoeitem){ System.out.println("ThisProductismadeby"+item.MAKER); System.out.println("Itcost$"+item.getPrice(1)); } publicstaticvoidorderInfo(Productitem){ System.out.println("Toorderfrom"+item.MAKER+"call"+item.PHONE+"."); System.out.println("Eachitemcosts$"+item.getPrice(1)); }}6、仔細閱讀下面的程序代碼,編譯和運行后,請寫出該程序的輸出結(jié)果。classFather{19Stringname="Father";19intage=45;FatherintgetAge(){returnage;}StringgetName(){returnname;}voidsetAge(inta){age=a;}}classChildextendsFather{Stringname="Child";intage=18;intgetAge(){returnage+1;}}classTest2{publicstaticvoidmain(Stringargs[]){Fatherp=newChild();System.out.println(p.getAge());p.setAge(30);System.out.println(p.getAge());System.out.println(p.getName()); }}7、閱讀下面的程序:錯,9)Type改成靜態(tài)的才行,不然publicclasstest下面的靜態(tài)方法里不能調(diào)用Type{publicstaticvoidmain(Stringargs[]){Bird.Fly(3);}}classBird{intType=2;privatestaticvoidFly(intan_Type){Type=an_Type;System.out.println("Flying..."+Type);}}上面的程序編譯是否成功如果編譯出錯,指出哪行出錯,并說明理由;如果編譯正確,運行結(jié)果是什么8、閱讀下面程序:hi!classPerson{IamJackpublicPerson(){Howdoyoudo?

System.out.println("hi!");改后}hi!publicPerson(Strings){Iamthis();Howdoyoudo?System.out.println("Iam"+s);}}publicclassWhoextendsPerson{publicWho(){this("IamTony");}publicWho(Strings){super(s);System.out.println("Howdoyoudo");}publicstaticvoidmain(Stringargs[]){Whow=newWho("Jack");//如果換成Whow=newWho("");結(jié)果是?

}}9、閱讀下面的程序:10020classValHold{publicinti=10;}publicclassObParm{publicstaticvoidmain(Stringargv[]){ObParmo=newObParm();o.amethod();}publicvoidamethod(){inti=99;ValHoldv=newValHold();v.i=30;another(v,i);System.out.print(v.i);}publicvoidanother(ValHoldv,inti){i=0;v.i=20;ValHoldvh=newValHold();v=vh;System.out.print(v.i);System.out.print(i);}}上面的程序編譯是否成功如果編譯出錯,指出哪行出錯,并說明理由;如果編譯正確,運行結(jié)果是什么

10、抽象類和接口使用20.0interfaceRunner{publicvoidrun();}3interfaceSwimmer{publicdoubleswim();}abstractclassAnimal{abstractpublicinteat();}classPersonextendsAnimalimplementsRunner,Swimmer{ publicvoidrun(){System.out.println("run!");} publicdoubleswim(){intspeed=20;returnspeed;} publicinteat(){return3;}}publicclassTest{ publicstaticvoidmain(Stringargs[]){ Testt=newTest(); Personp=newPerson(); t.m1(p); t.m2(p); t.m3(p); } publicvoidm1(Runnerf){f.run();} publicvoidm2(Swimmers){System.out.println(s.swim());} publicvoidm3(Animala){System.out.println(a.eat());}}11、閱讀下面的程序:MyFuncabstractclassBase{abstractpublicvoidmyfunc();publicvoidanother(){System.out.println("Anothermethod");}}publicclassAbsextendsBase{publicstaticvoidmain(Stringargv[]){Baseb=newAbs();b.another();}publicvoidmyfunc(){System.out.println("MyFunc");}publicvoidanother(){myfunc();}}12、閱讀下面的程序代碼,寫出程序運行的打印結(jié)果。15classParentClass{11intx=0;10intsum(inta,intb,intc){returna+b+c;}intsum(inta,intb){returna+b;}}classChildClassextendsParentClass{publicChildClass(){x=10;}intsum(inta,intb){returna+b+1;} }classTest{publicstaticvoidmain(Stringargs[]){ParentClassp=newChildClass();System.out.println(p.sum(5,5,5));System.out.println(p.sum(5,5));System.out.println(p.x);}}13、仔細閱讀下面的程序代碼,編譯和運行后,請寫出該程序的輸出結(jié)果。classFather{19Stringname="Father";19intage=45;FatherintgetAge(){returnage;}StringgetName(){returnname;}voidsetAge(inta){age=a;}}classChildextendsFather{Stringname="Child";intage=18;intgetAge(){returnage+1;}}classTest2{publicstaticvoidmain(Stringargs[]){Fatherp=newChild();System.out.println(p.getAge());p.setAge(30);System.out.println(p.getAge());System.out.println(p.getName()); }}四、程序填空題1、制作一個GUI應(yīng)用程序,布局方式采用默認布局,定義一個按鈕“Pressme”放到“North”區(qū)域,并處理相應(yīng)按鈕事件。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;//定義JButtontDemo類,其父類為JFrame,并實現(xiàn)接口ActionListenerpublicclassJButtonDemoextendsJFrameimplementsActionListener{publicJButtonDemo(){

JButtonb;setTitle("TestButtonEvent!");b=newButton();;//創(chuàng)建按鈕Add(b,”North”);;//將按鈕放置于”North”區(qū)域b.addActionListener(this);;//注冊按鈕的監(jiān)聽器setSize(200,100);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}publlicvoidactionPerformed(ActionEvente){//實現(xiàn)ActionListener接口中的方法System.out.println("Actionoccurred");}publicstaticvoidmain(Stringargs[]){newTestJButton();}}2、請將下面程序填寫完整publicclassZuoye2{ privatefloatr;//r為圓的半徑 voidsetR(floatzr){r=zr;}/*補充代碼段1 */ publicfloatcircle()//計算圓的面積 { return3.14f*r*r; }}classTest{ publicstaticvoidmain(String[]args) { Zuoye2z=newZuoye2(); z.setR(10);System.out.printf(“圓面積:”+z.circle());/*補充代碼段2,計算輸出半徑為10的圓的面積 */ } }3、編寫程序?qū)崿F(xiàn)窗口,包含一個標(biāo)簽、一個文本框和一個按鈕,當(dāng)用戶單擊按鈕時,程序把文本框中的內(nèi)容提制到標(biāo)簽中。//引入相關(guān)包importjava.awt.*;publicMyFrame{publicMyFrame(){JFramefr=newJFrame();//設(shè)置窗體的布局為FlowLayoutfr.setLayout(newFlowLayout());JLabellbl=newJLabel(“Initinfo”);JTextFieldtxt=newJTextField(30);JButtonbtn=newJButton(“Sure”);fr.add(lbl);fr.add(txt);fr.add(btn);//給按鈕注冊監(jiān)聽器btn.addActionListener(newMonitor());//使用窗體可見,并設(shè)置大小fr.setVisible(true);fr.setSize(400,500);}//定義內(nèi)部類監(jiān)聽ActionEvent事件classmonitorimplementsActionEvent{publicvoidactionPerformed(ActionEvente){lbl.setText(txt.getText());}}publicstaticvoidmain(String[]args){newMyFrame();}}4、仔細閱讀下面的程序代碼,請將劃線上①~⑤的語句補充完整。abstractclassPerson{privateStringname;

publicPerson(Stringn){

name=n;

}

public__abstract__StringgetDescription();

public_String__toName_(){

returnname;

}

}

classStudent__extends__Person{privateStringmajor;

publicStudent(Stringn,Stringm){

super(n);

major=m;

}

publicString___getDescription_(){

return"學(xué)生專業(yè)是:"+major;

}

}publicclassTestPerson{

publicstaticvoidmain(_String[]args_){

Personp=newStudent("王甜甜","計算機科學(xué)");

System.out.println(p.getName()+","+p.getDescription());

}

}5、閱讀下面的程序代碼,根據(jù)注釋要求補充、完成代碼(劃線是需要補充的地方),最后簡要說明該程序的功能。_interface_Area____{//聲明一個接口,接口名為Area publicdoubleCalsulateArea();}classMycircleimplementsArea{//定義圓類Mycircle實現(xiàn)接口Area doubler; publicMyCircle(doubler){ this.r=r; } PublicdoubleCalsulateArea(){//實現(xiàn)接口中的方法 returnMath.PI*r*r; }}classMyRectangleimplementsArea{ doublewidth,height; publicMyRectangle(doublew,doubleh){ width=w; height=h; } publicdoubleCalsulateArea(){ returnwidth*height; }}classTestArea{ publicstaticvoidmain(String[]args){ MyCirclec=newMyCircle(5)//創(chuàng)建MyCircle的對象,對象名為c,半徑為5 System.out.println("TheareaoftheCircleis"+c.CalsulateArea()); }}6、定義一個抽象類AbstractTest,其中有一個公共的抽象方法printMsg()。然后定義此抽象類的一個子類DefaultTest,包括的成員變量有姓名,學(xué)號,分數(shù),且此類中包括二個構(gòu)造方法。abstractclassAbstractTest{publicabstractvoidprintMsg();}classDefaultTestextendsAbstractTest{Stringname;Stringid;intscore;//接收三個參數(shù)的構(gòu)造

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論