Java期末復習題答案詳解_第1頁
Java期末復習題答案詳解_第2頁
Java期末復習題答案詳解_第3頁
Java期末復習題答案詳解_第4頁
Java期末復習題答案詳解_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Java 練習題一、 填空題(1)Java語言具有許多優(yōu)點和特點,下列選項中,哪個反映了Java程序并行機制的特點?( B )A)安全性 B)多線性 C)跨平臺 D)可移植(2)下列哪個類聲明是正確的?(  D    )。A)abstract final class HI··· B)abstract private move()··· C)protected private number; D)public abstract class Car···(3)下列關于f

2、or循環(huán)和while循環(huán)的說法中哪個是正確的?(  A    )。A)while循環(huán)能實現(xiàn)的操作,for循環(huán)也都能實現(xiàn) B)while循環(huán)判斷條件一般是程序結(jié)果,for循環(huán)判斷條件一般是非程序結(jié)果 C)兩種循環(huán)任何時候都可替換 D)兩種循環(huán)結(jié)構(gòu)中都必須有循環(huán)體,循環(huán)體不能為空(4)異常包含下列那些內(nèi)容?( C     )。A)程序中的語法錯誤 B)程序的編譯錯誤 C)程序執(zhí)行過程中遇到的事先沒有預料到的情況 D)程序事先定義好的可能出現(xiàn)的意外情況(5)Character流與Byte流的區(qū)別是 ( 

3、0;  C  )。A)每次讀入的字節(jié)數(shù)不同 B)前者帶有緩沖,后者沒有 C)前者是塊讀寫,后者是字節(jié)讀寫 D)二者沒有區(qū)別,可以互換使用(6)監(jiān)聽事件和處理事件 (   B   )。A)都由Listener完成 B)都由相應事件Listener處登記過的構(gòu)件完成 C)由Listener和構(gòu)件分別完成 D)由Listener和窗口分別完成(7)Applet可以做下列那些操作? ( A   )。A)讀取客戶端文件 B)在客戶端主機上創(chuàng)建新文件 C)在客戶端裝載程序庫 D)讀取客戶端部分系統(tǒng)變量(8)下列哪個屬

4、于容器的構(gòu)件? (  A    )。A)JFrame B)JButton C)JPnel D)JApplet(9)如果希望所有的控件在界面上均勻排列,應使用下列那種布局管理器?(B) A)BoxLayout B)GridLayout C)BorderLayout D)FlowLouLayout(10)為實現(xiàn)多線程之間的通信,需要使用下列那種流才合適?(   D    )。A)Filter stream B)File stream C)Random access stream D)Pipde stream(11)編譯

5、Java  Application 源程序文件將產(chǎn)生相應的字節(jié)碼文件,這些字節(jié)碼文件的擴展名為(   B   )。   A.java    B.class    C. .html        D. .exe(12)設 x = 1 , y = 2 , z = 3,則表達式  yz/x  的值是(  A    )。 A. 3 &#

6、160;    B.  3. 5     C. 4    D.  5(13)在Java  Applet程序用戶自定義的Applet子類中,一般需要重載父類的(  D   )方法來完成一些畫圖操作。 A. start( )        B. stop( )     C. init( )   

7、0;   D. paint( )(14)不允許作為類及類成員的訪問控制符的是(  C  )。 A. public     B.  private    C. static      D.  protected(15)為AB類的一個無形式參數(shù)無返回值的方法method書寫方法頭,使得使用類名AB作為前綴就可以調(diào)用它,該方法頭的形式為(  A    )。

8、0;   A.  static  void  method( )     B. public  void  method( )        C. final  void  method( )       D. abstract  void  method( )(16)在Java中,所有類的根類是( 

9、0; A   )。Ajava.lang.Object Bjava.lang.Class Cjava.applet.Applet Djava.awt.Frame (17)在Java中,用Package語句說明一個包時,該包的層次結(jié)構(gòu)必須是(   B   )。A與文件的結(jié)構(gòu)相同 B與文件目錄的層次相同 C與文件類型相同D與文件大小相同 (18)在讀字符文件Employee.dat時,使用該文件作為參數(shù)的類是(  D    )。ABufferReader BDataInputStreamCDataOu

10、toutStream DFileInputStream (19)下列構(gòu)造方法的調(diào)用方式中,正確的是 (  C   )。A按照一般方法調(diào)用 B由用戶直接調(diào)用 C只能通過new自動調(diào)用 D被系統(tǒng)調(diào)用 (20)類Panel默認的布局管理器是 (  C    )。AGridLayout BBorderLayout CFlowLayout DCardLayout (21)在Java中,能實現(xiàn)多重繼承效果的方式是(   C   )。A內(nèi)部類 B適配器 C接口 D同步 (22)char類型

11、的取值范圍是 (   B   )。A2-7 27 -1 B0216-1 C-215 215 -1 D028-1 (23)能夠支持javadoc命令的注釋語句是 (  D   )。A/*./ B/*.*/ C/ D/*.*/ (24)十進制數(shù)16的16進制表示格式是 ( A     )。A0x10 B0x16 C0xA D16 (25)int型public成員變量MAX_LENGTH,該值保持為常數(shù)100,則定義這個變量的語句是(  D  

12、0; )。Apublic int MAX_LENGTH=100 Bfinal int MAX_LENGTH=100 Cpublic const int MAX_LENGTH=100 Dpublic final int MAX_LENGTH=100 (27)下列方法中可以用來創(chuàng)建一個新線程的是 (  C    )。A實現(xiàn)java.lang.Runnable接口并重寫start()方法 B實現(xiàn)java.lang.Runnable接口并重寫run()方法 C實現(xiàn)java.lang.Thread類并重寫run()方法 D實現(xiàn)java.lang.Thread類并重

13、寫start()方法 (28)下列關于Java Application與Applet的說法中,正確的是(    C  )。A都包含main()方法 B都通過“appletviewer”命令執(zhí)行 C都通過“javac”命令編譯 D都嵌入在HTML文件中執(zhí)行 (29)當啟動Applet程序時,首先調(diào)用的方法是(  B    )。Astop()Binit()Cstart()Ddestroy() (30)下列關于線程優(yōu)先級的說法中,正確的是( C  )。A線程的優(yōu)先級是不能改變的 B線程的優(yōu)先級是在創(chuàng)建

14、線程時設置的 C在創(chuàng)建線程后的任何時候都可以設置 DB和C (31)當瀏覽器重新返回Applet所在頁面時,將調(diào)用Applet類的方法是 (  A   )。Astart() Binit() Cstop() Ddestroy()  (32)按照Java的標識符命名規(guī)范,下列表示一個類的標識符正確的是 (  B    )。AHelloworld  BHelloWorld  Chelloworld DhelloWorld 

15、 (33)下列代碼中,將引起一個編譯錯誤的行是 (   D   )。1)public class Test  2) int m,n;  3) public Test()   4) public Test(int a) m=a;  5) public static void main(String args)  6) Test&#

16、160;t1,t2;  7) int j,k;  8) j=0;k=0;  9) t1=new Test();  10) t2=new Test(j,k);  11)   12)  A第3行  B第5行  C第6行  D第10行  (34)下列程序的功能是在監(jiān)控臺上每隔一秒鐘顯示一個字符串“Hello”,能夠填寫在程序中下劃線位置,使程序完整并能正確運行的語句是 (  D

17、60;  )。public class Test implements Runnable  public static void main(String args)  Test t=new Test();  Thread tt=new Thread(t);  tt.start();    public void run()  for(;)  try  ;&#

18、160; catch(  e)  System.put.println("Hello");        A sleep(1000)  InterruptedException  B sleep(1000)  InterruptedException  C Thread.sleep(1000)  RuntimeException  D Thread.sleep(1000)  InterruptedExcep

19、tion  (35)閱讀下列代碼后  public class Person  int arr=new int10;  /static int arr=new int10;這樣選Cpublic static void main(String args)  System.out.println(arr1);      正確的說法是( A   )。A 編譯時將產(chǎn)生錯誤 B 編譯時正

20、確,運行時將產(chǎn)生錯誤  C 輸出零  D 輸出空  (36)在Java中,負責對字節(jié)代碼解釋執(zhí)行的是(B)。 A垃圾回收器 B虛擬機 C編譯器 D多線程機制 (37)下列敘述中,正確的是(  A    )。AJava語言的標識符是區(qū)分大小寫的 B源文件名與public類名可以不相同 C源文件擴展名為.jar D源文件中public類的數(shù)目不限 (38)下列屬于合法的Java標識符是(   A   )。A_cat B5books C+static D-3.14159

21、(14)在Java中,表示換行符的轉(zhuǎn)義字符是( A     )。An Bf C'n' Ddd (39)在Java中,由Java編譯器自動導入,而無需在程序中用import導入的包是(  D    )。Ajava.applet Bjava.awt Cjava.util Djava.lang 二、填空題(1)對象串行化可以很容易地擴展成支持Java對象的(   持續(xù)存儲或持久存儲   ),它提供了對象從流中重建的補充方式. (2)Vector類的對象是通過capa

22、city和capacityIncrement兩個值來改變集合的容量,其中capacity表示集合最多能容納的( 元素個數(shù)     ),capacityIncrement表示每次增加多少容量,不是一個一個增加. (3)下列程序的功能是判斷某一年是否為閏年.請在橫線處填入適當內(nèi)容,使程序能夠正確運行. import java.io.*; public class LeapYear public static void main(String arge)throws IOException InputStreamReader ir; BufferdeReadw

23、e in; ir=new InputStreamReader(System.in); in=new BufferedReader(ir); System.out.println(“輸入年份是:”); String s= (  in.readLine()   ); int year=Integer.parseInt(s); if (year % 4 = = 0 && year % 100! = 0 / year % 400 = = 0) System.out.println(""+year+"年是閏年.&quo

24、t;); else System.out.println(""+year+"年不是閏年."); (4)下面程序?qū)?shù)組中每個元素賦值,然后按逆序輸出.請在橫線處填入適當內(nèi)容,使程序能正常運行. import java.io.*; public class ArrayTest public static void main(String args) int i; int a = new int5; for(i=0;i<5;i+) ai=i; for( i=i-1     ) ;i>=0;i- -) Syst

25、em.out.println("a"+i+"="+ai); (5) 下列程序的功能是:輸入一個姓名,程序運行后,輸出“姓名Welcome you!”.例如,輸入“張三Welcome you !”.請在下面橫線處填入正確的方法名,使程序可以正確運行. import java.awt.*; import java.awt.event.*; public class Test public static void main(String args) new FrameInOut(); class FrameInOut extends Frame impleme

26、nts ActionListener Label prompt; TextField input,output; Button btnn; FrameInOut() prompt=new Label("Please input your name"); input=new TextField(10); output=new TextField(25); btnn=new Button("Class"); setLayout (new FlowLayout(); add(prompt); add(input); add(output); add(btnn)

27、; input.addActionListener(this); btnn.addActionListener(this); setSize(300,200); show();Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubif(e.getSource()= input) output.setText(input.getText()+"Welcome you!"); else dispose(); System.exit(0); (6)開發(fā)與運行Java程

28、序需要經(jīng)過的三個主要步驟為(編輯源程序 )、( 編譯生成字節(jié)碼 ) 和(解釋運行字節(jié)碼)。(7)如果一個Java  Applet源程序文件只定義有一個類,該類的類名為MyApplet,則類MyApplet必須是(Applet)類的子類并且存儲該源程序文件的文件名為(MyApplet. java) 。(8)如果一個Java  Applet程序文件中定義有3個類,則使用Sun公司的JDK編譯器(java)編譯該源程序文件將產(chǎn)生( 1 )個文件名與類名相同而擴展名為( .class     ) 的字節(jié)

29、碼文件。(9)在Java的基本數(shù)據(jù)類型中,char型采用Unicode編碼方案,每個Unicode碼占用(  2    )字節(jié)內(nèi)存空間,這樣,無論是中文字符還是英文字符,都是占用( 2     )字節(jié)內(nèi)存空間。(10)設 x = 2 ,則表達式 ( x + + )3 的值是( 0  )。(11)若x = 5,y = 10,則x < y和x >= y的邏輯值分別為( true )和 (false  ) 。(12) (  抽象  

30、0; )方法是一種僅有方法頭,沒有具體方法體和操作實現(xiàn)的方法,該方法必須在抽象類之中定義。( final  )方法是不能被當前類的子類重新定義的方法。(13)創(chuàng)建一個名為 MyPackage 的包的語句是(package MyPackage),該語句應該放在程序的位置為:( 類的最前面     )。(14)設有數(shù)組定義:int   MyIntArray = 10 , 20 , 30 , 40 , 50 , 60 , 70;   則執(zhí)行以下幾個語句后的輸出結(jié)果是( 120  &

31、#160;  ) 。     int  s = 0 ;    for  ( int  i = 0 ; i < MyIntArray.length ; i + + )                 if  ( i % 2 = = 1 )    s += MyIntArrayi ;&#

32、160;  System.out.println( s );(15)在Java程序中,通過類的定義只能實現(xiàn)(  單    )重繼承,但通過接口的定義可以實現(xiàn)(  多    )重繼承關系。(16) Java源文件中最多只能有一個(  public    )類,其它類的個數(shù)不限。 (17)在Java中所實現(xiàn)的多維數(shù)組,實際上是由一維數(shù)組構(gòu)成的( 數(shù)組     )。 (18)StringBuffer類提供(

33、60;     )字符串對象的表示。   (19)每個Applet程序必須有一個類是 (  Applet    )類的子類。(20)線程在生命期中要經(jīng)歷5種狀態(tài),分別是新建狀態(tài)、可運行狀態(tài)、運行狀態(tài)、(阻塞 )狀態(tài)和終止狀態(tài)。(21)FileInputStream是字節(jié)流;BufferedWriter是字符流;ObjectOutputStream是(  對象流     )。   (22)break語句最常見的用法是在switch語句中,

34、通過break語句退出switch語句,使程序從整個switch 語句后面的 (   第一條語句   ) 開始執(zhí)行。(23)請閱讀下列程序代碼,然后將程序的執(zhí)行結(jié)果補充完整。  public class throwsException   static void Proc(int sel)  throws ArithmeticException,ArrayIndexOutOfBoundsException  System.ou

35、t.println("In Situation"+sel);  if(sel=0)  System.out.println("no Exception caught");  return;  else if(sel=1)  int iArray=new int4;  iArray1=3;      public static void main(String args

36、)  try  Proc(0);  Proc(1);  catch(ArrayIndexOutOfBoundsException e)  System.out.println("Catch"+e);  finally  System.out.println("in Proc finally");      執(zhí)行結(jié)果:  In Situation 0  no Exception caugh

37、t  (      ) in Proc finally  執(zhí)行結(jié)果In Situation0no Exception caughtIn Situation1in Proc finally答案:In Situation1  (24)當使用Thread t=new Thread(r)創(chuàng)建一個線程時,表達式:r instanceof Thread的值為(  false    ) 。 false 或 0表

38、達式:r instanceof Thread的語義即"r是否為Thread的實例(instance)"。再看Thread的構(gòu)造方法(Thread有許多構(gòu)造方法,以下是最典型的構(gòu)造方法,其它構(gòu)造方法都是從下面的構(gòu)造方法中"減掉"一些參數(shù)形成的): Thread(ThreadGroup group, Runnable target, String name) 可見,Thread構(gòu)造方法中沒有類型為Thread的參數(shù),故r不可能是Thread的實例 r instanceof Runnable 的結(jié)果為true !三、簡答題1、String是最基本的數(shù)據(jù)類型嗎?

39、答:基本數(shù)據(jù)類型包括byte、int、char、long、float、double、boolean和short。java.lang.String類是final類型的,因此不可以繼承這個類、不能修改這個類。為了提高效率節(jié)省空間,我們應該用StringBuffer類。2、面向?qū)ο蟮奶卣饔心男┓矫妫亢喪雒總€特征。3、int 和 Integer 有什么區(qū)別?答:Java 提供兩種不同的類型:引用類型和原始類型(或內(nèi)置類型)。Int是java的原始數(shù)據(jù)類型,Integer是java為int提供的封裝類。Java為每個原始類型提供了封裝類。引用類型和原始類型的行為完全不同,并且它們具有不同的語義。引用類型

40、和原始類型具有不同的特征和用法,它們包括:大小和速度問題,這種類型以哪種類型的數(shù)據(jù)結(jié)構(gòu)存儲,當引用類型和原始類型用作某個類的實例數(shù)據(jù)時所指定的缺省值。對象引用實例變量的缺省值為 null,而原始類型實例變量的缺省值與它們的類型有關。4、String 和StringBuffer的區(qū)別?答:JAVA平臺提供了兩個類:String和StringBuffer,它們可以儲存和操作字符串,即包含多個字符的字符數(shù)據(jù)。這個String類提供了數(shù)值不可改變的字符串。而這個StringBuffer類提供的字符串進行修改。當你知道字符數(shù)據(jù)要改變的時候你就可以使用StringBuffer。典型地,你可以使用Strin

41、gBuffers來動態(tài)構(gòu)造字符數(shù)據(jù)。5、運行時異常與一般異常有何異同?答:異常表示程序運行過程中可能出現(xiàn)的非正常狀態(tài),運行時異常表示虛擬機的通常操作中可能遇到的異常,是一種常見運行錯誤。java編譯器要求方法必須聲明拋出可能發(fā)生的非運行時異常,但是并不要求必須聲明拋出未被捕獲的運行時異常。6、final, finally, finalize的區(qū)別?答:final 用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。finally是異常處理語句結(jié)構(gòu)的一部分,表示總是執(zhí)行。finalize是Object類的一個方法,在垃圾收集器執(zhí)行的時候會調(diào)用被回收對象的此方法,可以覆蓋此方法提

42、供垃圾收集時的其他資源回收,例如關閉文件等。7、sleep() 和 wait() 有什么區(qū)別?答:sleep是線程類(Thread)的方法,導致此線程暫停執(zhí)行指定時間,給執(zhí)行機會給其他線程,但是監(jiān)控狀態(tài)依然保持,到時后會自動恢復。調(diào)用sleep不會釋放對象鎖。wait是Object類的方法,對此對象調(diào)用wait方法導致本線程放棄對象鎖,進入等待此對象的等待鎖定池,只有針對此對象發(fā)出notify方法(或notifyAll)后本線程才進入對象鎖定池準備獲得對象鎖進入運行狀態(tài)。8、Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型?答:方法的重寫Overri

43、ding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫Overriding是父類與子類之間多態(tài)性的一種表現(xiàn),重載Overloading是一個類中多態(tài)性的一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫 (Overriding)。子類的對象使用這個方法時,將調(diào)用子類中的定義,對它而言,父類中的定義如同被“屏蔽”了。如果在一個類中定義了多個同名的方法,它們或有不同的參數(shù)個數(shù)或有不同的參數(shù)類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。9、abstract class和interface有什么區(qū)別?答:聲

44、明方法的存在而不去實現(xiàn)它的類被叫做抽象類(abstract class),它用于要創(chuàng)建一個體現(xiàn)某些基本行為的類,并為該類聲明方法,但不能在該類中實現(xiàn)該類的情況。不能創(chuàng)建abstract 類的實例。然而可以創(chuàng)建一個變量,其類型是一個抽象類,并讓它指向具體子類的一個實例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。Abstract 類的子類為它們父類中的所有抽象方法提供實現(xiàn),否則它們也是抽象類為。取而代之,在子類中實現(xiàn)該方法。知道其行為的其它類可以在類中實現(xiàn)這些方法。接口(interface)是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通過實現(xiàn)這樣的接口而獲得。接口中的所有方法都是抽象的,沒有一

45、個有程序體。接口只可以定義static final成員變量。接口的實現(xiàn)與子類相似,除了該實現(xiàn)類不能從接口定義中繼承行為。當類實現(xiàn)特殊接口時,它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實現(xiàn)了該接口的類的任何對象上調(diào)用接口的方法。由于有抽象類,它允許使用接口名作為引用變量的類型。通常的動態(tài)聯(lián)編將生效。引用可以轉(zhuǎn)換到接口類型或從接口類型轉(zhuǎn)換,instanceof 運算符可以用來決定某對象的類是否實現(xiàn)了接口。10、啟動一個線程是用run()還是start()?答:啟動一個線程是調(diào)用start()方法,使線程所代表的虛擬處理機處于可運行狀態(tài),這意味著它可以由JVM調(diào)度并執(zhí)行。這并不意味著

46、線程就會立即運行。run()方法可以產(chǎn)生必須退出的標志來停止一個線程。11、接口是否可繼承接口? 抽象類是否可實現(xiàn)(implements)接口? 抽象類是否可繼承實體類(concrete class)?答:接口可以繼承接口。抽象類可以實現(xiàn)(implements)接口,抽象類是否可繼承實體類,但前提是實體類必須有明確的構(gòu)造函數(shù)。12、數(shù)組有沒有l(wèi)ength()這個方法? String有沒有l(wèi)ength()這個方法?答:數(shù)組沒有l(wèi)ength()這個方法,有l(wèi)ength的屬性。String有有l(wèi)ength()這個方法。13、構(gòu)造器Constructor是否可被override?答:構(gòu)造器Constr

47、uctor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。14、是否可以繼承String類?答:String類是final類故不可以繼承。15、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?答:switch(expr1)中,expr1是一個整數(shù)表達式。因此傳遞給 switch 和 case 語句的參數(shù)應該是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。16、try 里有一個return語句,那么緊跟在這個try后的finally 里的code會不會被執(zhí)行,什么時候

48、被執(zhí)行,在return前還是后?答:會執(zhí)行,在return前執(zhí)行。17、簡述Java多態(tài)性的概念,隱藏、覆蓋和重載的概念及使用時應注意的問題。答:多態(tài)性:在一個類中可以定義多個同名方法,有靜態(tài)多態(tài)性和動態(tài)多態(tài)性。隱藏:子類重新定義了父類中的同名成員變量。被隱藏的父類成員變量在子類中仍然占有存儲空間。覆蓋:子類重新定義了父類的同名成員方法,要求方法名、參數(shù)和返回類型都相同。與隱藏不同,此時子類方法將替換掉同名的父類方法,清除父類方法在子類中占有的空間。重載:在同一個類中定義多個同名但參數(shù)不同的方法,參數(shù)不同是指個數(shù)、類型或順序不同。注意事項:不能覆蓋父類的static方法和final方法??梢噪[

49、藏父類的static方法,即在子類中聲明同名static方法。非Static方法不能隱藏,只能覆蓋。子類必須覆蓋父類的abstract方法。18、什么是事件、事件源和事件監(jiān)聽器?簡述使用事件監(jiān)聽器進行事件處理的過程。答:事件:對界面的某種操作,如按鍵、單擊鼠標、鼠標移動等。事件源:事件的產(chǎn)生者,通常是某一組件,如按鈕等。事件監(jiān)聽器:是某些事件的接口,其中定義了被監(jiān)聽的事件發(fā)生時系統(tǒng)要調(diào)用的方法。事件處理過程由下面3步組成:為類聲明需要的事件監(jiān)聽器接口。給事件源注冊一個事件監(jiān)聽器。實現(xiàn)接口聲明中事件處理方法。19、簡述Java中構(gòu)造方法的概念及特點。答:構(gòu)造方法:構(gòu)造方法是一種特殊的方法,用于初

50、始化對象。特點:構(gòu)造方法與類同名,可以有參數(shù) ,也可無參數(shù)。構(gòu)造方法沒有返回值,在方法前也不需要寫void。創(chuàng)建對象時,系統(tǒng)自動調(diào)用構(gòu)造方法。用戶在程序中不能直接調(diào)用構(gòu)造方法,只能通過new操作符調(diào)用。一個類可以有多個同名構(gòu)造方法,但參數(shù)必須不同。所謂參數(shù)不同是指:類中可以不定義構(gòu)造方法,此時Java提供一個默認的無參數(shù)構(gòu)造方法20、簡述Java中接口的概念及接口的性質(zhì)?答:Java語言規(guī)定,類只能實現(xiàn)單繼承,但接口可以實現(xiàn)多重繼承。接口中定義的方法都是抽象方法,定義的所有域都是常量。因此接口可以看作是沒有實現(xiàn)的方法和常量的集合。使用接口主要是解決Java語言不支持多重繼承的問題。性質(zhì):接口不

51、提供代碼重用性。因為接口中的方法都是沒有實現(xiàn)的方法,因此所有的方法體都要自己編寫。接口可以通過多繼承進行擴展。接口不能升級,即提供給用戶的接口不能再改變。四、閱讀程序?qū)懡Y(jié)果1、class V1 int a=1; void m1() System.out.println(a); class E1 extends V1 int a=2,b=3,c; void m2() System.out.println(a); class H public static void main(String s) E1 e1=new E1(); e1.m1(); e1.m2(); 結(jié)果:122、class V1 p

52、ublic int x=2; V1() System.out.println("V1"); class V2 extends V1 public int x=3; V2() System.out.println("V2"); class H public static void main(String s) V1 e1=new V2(); System.out.println(e1.x); 結(jié)果:V1V22/*V1 e1=new V2();等價成: V1 e1;e1=newV2(); 這樣就很明顯了3、import    j

53、ava.io.*;public  class  abc         public  static  void  main(String args )              AB  s = new  AB("Hello!");      

54、60;        System.out.println(s.toString( );          class   AB   String   s1;  String   s2;  AB( String  str1 , String  str2 )    s1 = str1;  s2 = s

55、tr2;   public   String   toString( )  return  s1+s2;以上程序編譯錯誤:參數(shù)不匹配改為:import java.io.*;public class Test public static void main(String args ) AB s = new AB("Hello","world!"); System.out.println(s.toString( ); class AB String s1; String s2; AB( S

56、tring str1 , String str2 ) s1 = str1; s2 = str2; public String toString( ) return s1+s2;結(jié)果為:Helloworld!4、 import    java.io.* ;    public   class  abc       public   static   void    main(String&

57、#160; args )              int   i , s = 0 ;               int  a = 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 ;       &#

58、160;       for  ( i = 0 ; i < a.length ; i + )                     if ( ai%3 = = 0 )  s += ai ;           &

59、#160;    System.out.println("s="+s);           結(jié)果:1805、 class V1 public int x=4; V1() System.out.println("V1"); class V2 extends V1 public int x=7; V2() System.out.println("V2"); class H public static void

60、 main(String s) V1 e1=new V2(); System.out.println(e1.x); 結(jié)果:V1V246、class V1 int a=3; void m1() System.out.println(a); class E1 extends V1 int a=5,b=3,c; void m2() System.out.println(a); class H public static void main(String s) E1 e1=new E1(); e1.m1(); e1.m2(); 結(jié)果:35五、閱讀程序,給出程序的功能1、public class H p

61、ublic static void main(String args) Fact N=new Fact(4); System.out.print(N.fact(); class Fact int n; Fact(int nn) n=nn; int fact() int i,f=1; for(i=1;i<=n;i+) f=f*i; return f; 功能:計算n?。╪的階乘)2、public class H public static void main(String args) int i,Max,Min; int a=12,67,8,98,23,56,124,55,99,100; M

62、ax=a0;Min=a0; for(i=1; i<a.length;i+) if(ai<Min) Min=ai; if(ai>Max) Max=ai; System.out.print(Max+" "+Min); 功能:查找數(shù)組a的最大值和最小值import    java.io.*;   public    class   abc      public   static  

63、void   main(String args)            SubClass    sb = new   SubClass( );                     System.out.println(sb.max( )

64、;                  class    SuperClass      int  a = 10 , b = 20 ;     class  SubClass  extends  SuperClass      int  max( )  

65、; return   (a>b)?a:b);    功能:輸出兩個數(shù)中較大的3、import   java.io.* ;public   class   abc    public  static  void   main(String  args )      int   i , n = 10 , max = 0 , min = 0 ,  temp = 0;&

66、#160;         try                 BufferedReader  br = new BufferedReader(                 

67、0;          new  InputStreamReader(System.in);                max = min = Integer.parseInt(br.readLine( );          catch ( IOException

68、  e ) ;      for  ( i = 2 ; i <= n ; i + )            try                 BufferedReader  br = new BufferedReader(   

69、                         new  InputStreamReader(System.in);                temp = Integer.parseInt(b

70、r.readLine( );          if  (temp > max ) max=temp;         if  (temp < min) min=temp;         catch ( IOException  e ) ;       &

71、#160;  System.out.println("max="+max+"nmin="+min);    功能:從控制臺輸入10個數(shù),程序選出最大的和最小的4、import     java.awt.*;    public    class    abc      public   static   void

72、60;   main(String args)                new FrameOut();               class   FrameOut   extends    Frame   

73、60;         Button btn;                                          

74、       FrameOut( )                super("button");                 btn = new  Button("click");&

75、#160;                setLayout(new   FlowLayout( );                 add(btn);         

76、0;       setSize(300,200);                 show( );                功能:實現(xiàn)這么個功能5、public  class   Sum 

77、public  static  void   main( String  args )      double   sum = 0.0 ;       for  ( int  i = 1 ;  i <= 100 ; i + + )           sum += 1.0/(double) i

溫馨提示

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

評論

0/150

提交評論