




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
一、簡答題1.什么是對象?什么是類?對象是一種抽象數(shù)據(jù)類型。它包含了事物的靜態(tài)特征(屬性)和動態(tài)特征(行為)兩大特征。 類是一組同種對象的集合與抽象。即是具有相同屬性和方法的一組對象集合。2.Java語言的單繼承是指什么?一個類可以派生出多個子類,但子類只允許有一個父類,而不允許存在多個父類。3.在一個共有類中的數(shù)據(jù)成員及方法成員的訪問控制符為缺省,則這個類可供什么樣的包引用?當(dāng)一個類的訪問控制符為public共有時,表明這個類作為整體對其它類是可見和可引用的;但其數(shù)據(jù)成員和方法成員訪問控制符為缺省時,它們只能被包中類(含當(dāng)前類)引用。4.抽象類的用途(1)設(shè)計在更高的層次上進行,不考慮具體對象,從而大大簡化了處理問題的復(fù)雜性; (2)設(shè)計出的類也具有更加良好的可擴展性。5.什么是非靜態(tài)的成員變量?非靜態(tài)成員即為實例成員變量(沒有加static修飾的變量)。6.異常Exception和錯誤Error有什么不同?Java如何處理它們?答:錯誤通常是指程序本身存在非法情形,常常是因為代碼存在問題而引起的,如造成系統(tǒng)崩潰、虛擬機粗錯、動態(tài)鏈接失敗等,這一類錯誤無法恢復(fù)或不可能捕獲,并將導(dǎo)致應(yīng)用程序中斷。異常表示另外一種“非同尋?!钡腻e誤。這種錯誤通常是不可預(yù)測,但可以被捕獲且可以恢復(fù)。常見的異常情況包括內(nèi)存不足、找不到所需文件等。 對于錯誤,編程人員可以通過對程序進行更仔細(xì)的檢查,以避免這種錯誤。 對于異常,可以使用捕獲機制進行捕獲,再編寫出相應(yīng)的處理程序。7.簡單陳述Java的異常處理機制。答:Java采取“拋出—捕獲”的方式,一旦一個異常想象產(chǎn)生,Runnable環(huán)境和應(yīng)用程序會拋出各種標(biāo)準(zhǔn)類型和自己定義的異常,系統(tǒng)就可以捕獲這些異常,并一定有相應(yīng)的機制來處理它,確保不會產(chǎn)生司機、死循環(huán)或其它對操作系統(tǒng)的損害,從而保證了整個程序運行的安全性。8.簡單陳述throw語句和throws關(guān)鍵字之間的差別。答:throw語句是在一個方法中用來直接拋出異常對象,其格式是: throw異常對象; throws關(guān)鍵字是用一個方法聲明首部,用來指出這個方法中可能產(chǎn)生若干種異常,其格式:[方法修飾符]返回類型方法名(參數(shù)表)throws異常類型表 { /*方法體*/ }二、填空題1.所有Java應(yīng)用程序都必須包含的一個類方法是main()。2.面向?qū)ο蟪绦蛟O(shè)計語言的三種重要特性是封裝性、繼承性和多態(tài)性。4.面向?qū)ο蟪绦蛟O(shè)計語言的多態(tài)的事項方法主要有三種:方法重載、方法覆蓋和接口。5.對象之間的信息通過消息傳遞機制來完成。6.成員變量的修飾符有(寫出6種)public,friendly,protected,private,final,static。7.整個類共同擁有的方法是用static修飾的方法或叫類成員方法;它具有統(tǒng)計一個類的實例個數(shù)等用途。8.引用父類中的成員用super;引用當(dāng)前的類或?qū)ο笥胻his。9.在面向?qū)ο笾?,繼承有兩種含義,分別指在類的層次結(jié)構(gòu)中,子類自動繼承父類的特性和同一類的所有實例對象都具有所屬類的特征。10.在Java語言中,所有類都是Object類的子類。11.多繼承問題指的是一個類有多個父類問題;在Java語言中通過接口方法解決多繼承問題。12.接口是一種特殊的類,它只能定義一些抽象方法和常量。13.在Java語言中,一組類和接口的集合通常被稱為類庫或API包或應(yīng)用程序接口。14.給出引用包的兩種方法是:使用包名、類名做前綴;使用import語句。15.Java語言異常處理三種方式是:捕獲異常、聲明異常和自定義異常16.程序設(shè)計過程中可能會出現(xiàn)的兩種錯誤是編譯錯誤和運行錯誤。17.程序設(shè)計過程后的運行錯誤大致有三類。它們是邏輯錯誤、用戶輸入不合法和硬件設(shè)備出錯。18.在Java語言中,用try-catch-final結(jié)構(gòu)來捕獲并處理異常。19.用戶程序使用thrownew異常類名;拋出自己的異常。20.自定義異常類必須繼承Exception類。三、選擇題1.下述聲明中哪一種可以防止該類產(chǎn)生子類? A.staticclassDEF{} B.privatecalssDEF{}C.a(chǎn)bstractclassDEF{} D.finalpublicclassDEF{}E.finalabstractclassDEF{}答案:D。Final防止有子類繼承,因此可選擇D、E。但final不可以和abstract連用,因此E也錯。2.如果要求子類可以在任何包中訪問父類的成員,下面哪一個修飾符可以達(dá)到這個目標(biāo)的最為嚴(yán)格的修飾符? A.public B.private C.protected D.無修飾符 答案:C。 A和C都可以做到這點,但A更為寬松,不僅僅是任何包中的子類,而且任何包中和包外的類都可以訪問它。D只能被同一個包內(nèi)的類訪問,所以D不符合要求。而B比D更為嚴(yán)格。3.程序的封裝性是如何實現(xiàn)的? A.由應(yīng)用程序的設(shè)計者實現(xiàn) B.由應(yīng)用程序的使用者實現(xiàn)C.由應(yīng)用程序的設(shè)計和使用者實現(xiàn) D.由操作系統(tǒng)實現(xiàn)5.下列哪個選項能體現(xiàn)Java語言的多態(tài)性? A.匿名類 B.內(nèi)布類 C.方法重載 D.方法覆蓋答案:C。6.下列哪個選項正確? A.Error類是一個RuntimeException異常B.任何拋出一個RuntimeException異常的語句必須包含在try塊內(nèi)。C.任何拋出一個Error對象的語句必須包含在try塊內(nèi)。D.任何拋出一個Exception異常的語句必須包含在try塊內(nèi)。答案:DError代表程序中不可捕獲的問題,與Exception類同在一個層次,而RuntimeException是Exception的子類,所以Error類不可能是一個RuntimeException類型的異常;拋出一個RuntimeException異常不一定要在try塊內(nèi),它是由JVM正常拋出,不需要throw和throws語句,因而也不一定要有catch語句去捕獲,所以可以不出現(xiàn)在try塊中;Error類型的問題是不可恢復(fù)的,多以沒有規(guī)定要去捕獲Error,因而也可以不出現(xiàn)在try塊中;對于拋出一個Exception對象的語句,如果沒有包含在try塊之內(nèi),有可能編譯不能通過,因此選項D是必須的。7.有如下程序,給出程序運行結(jié)果? importjava.io.*; publicclassExceptionTest { publicstaticvoidmain(Stringargs[]) { try { methodA(); }catch(IOExceptione){ System.out.println(“CaughtException”); }publicvoidmethcdA(){ thrownewIOException(); } } }A.代碼不能編譯 B.輸出:CaughtExceptionC.輸出:CaughtIOException D.程序正常運行后無任何信息輸出答案:A首先,methcdA是非靜態(tài)方法,不能出現(xiàn)在main中;其次,就算methcdA是靜態(tài)方法,IOException是可檢測異常,必須被catch捕獲或是被throws聲明,但程序中沒有聲明throws,所以try語句塊不可能拋出IOException這個異常,而catch也就談不到捕獲它了,所以兩個條件都沒有滿足,編譯同樣錯誤。在methcdA方法定義語句的前面加static,后面加上throwsIOException,程序就可以調(diào)試通過了。 }A.throwsException B.catch(Exception)C.throwsRuntimeException D.catch(TestException)答案:A沒有try就不能有catch,所以B,D錯;而C里邊的RuntimeException是Exception的子類,不能用捕“小魚”的工具去捕“大魚”,所以錯誤;由于runTest()拋出的是TestExcption,而TestExcption又是Excption的子類,因此用到runTest方法就必須拋出Excption異常。9.有如下程序,該程序的運行結(jié)果是? publicclassExc_4 { publicstaticvoidmain(Stringargs[]) { try{ return; } finally{System.out.println(“Finally”); } } }A.程序無輸出 B.程序輸出“Finally”C.代碼可以通過編譯但執(zhí)行時產(chǎn)生異常 D.因為缺少catch塊所以編譯出錯 答案:B 程序中有catch則必須有try,但反之不成立,所以D不對;關(guān)于try-catch-finally的問題,程序中如果遇到return,則finally塊先被執(zhí)行,然后再執(zhí)行return,而finally塊后面的語句將不被執(zhí)行。如果遇到System.exit(1),則退出JVM,整個程序退出,當(dāng)然finally塊其后的語句都不執(zhí)行。10.有如下程序,如果methodA()拋出IOException異常,該程序的運行結(jié)果是? classExc_5 { publicstaticvoidmain(Stringargs[]) { try{ methodA(); } catch(IOExceptione){ System.out.println(“caughtIOException”);} catch(Exceptione){System.out.println(“caughtException”);} } } }答案:caughtIOException 如果methodA()拋出IOException異常,被語句5捕獲,輸出“caughtIOException”四、編程題1.試編寫出要創(chuàng)建一個員工類Employee。這個類中的一個成員變量應(yīng)該包括員工號empNum、姓名Name;其操作方法一個是用來設(shè)置set員工的工號,另一個操作方法是用來取得get員工工號。(建議按兩步完成設(shè)計:一步是寫出類的頭結(jié)構(gòu);另外一步是完成成員聲明。) { EmployeeA;intempNum=A.setNum(2001); System.out.println("員工工號為:"+empNum); }}2.創(chuàng)建一個名為List的顯示類,它可以存儲任何類型的對象,并可以在任何時候增加或刪除對象。classList{ privateintmaxItems=100;privateintnumItems=0;privateObject[]list=null;publicList() { list=newObject[maxItems];}publicList(int_maxItems) { maxItems=_maxItems;list=newObject[maxItems]; }publicvoidadd(Objectobj) {list[numItems]=obj;numItems++; }publicvoiddelete(intpos) {for(inti=pos+1;i<numItems;i++) { list[i-1]=list[i];}numItems--; }publicObjectget(intpos) { returnlist[pos]; }publicintgetSize() { returnnumItems; }publicbooleanisFull() { return(numItems>=maxItems); }publicStringtoString()}publicclassListTest{ publicstaticvoidmain(String[]args) { Listlist=newList(); list.add(newDouble(10.0)); list.add(newString("JavabyDefinition")); list.add(newInteger(-10)); System.out.println(list); System.out.println("Position0:"+list.get(1)); list.delete(2); list.delete(0); System.out.println("ListSize:"+list.getSize()); }}程序運行結(jié)果:10.0JavabyDefinition-10Position0:JavabyDefinitionListSize:13.創(chuàng)建帳號SavingsAccount類。用靜態(tài)變量存儲年利率。該類的每個對象都有一個私有實例變量savingBalance用來顯示帳號里的錢數(shù)。提供方法calculateMonthlyInterest計算月利息(按照年利率乘以帳號里的錢數(shù)再除以12);該利息必須加到實例變量中。提供一個靜態(tài)方法modifyInterestRate設(shè)置年利率。寫一個測試程序CalculatorInterest來測試該類。建立兩個該類對象,saver1和saver2,分別有人民幣2000元和3000元。設(shè)年利率為4%。計算每個帳號的月利息及新的錢數(shù)。設(shè)年利率為5%。計算每個帳號下月的利息及新錢數(shù)。importjava.io.*;publicclassCalculatorInterest //測試程序{ publicstaticvoidmain(Stringargs[]) {SavingsAccountsaver1=newSavingsAccount(2000);//聲明兩個對象 SavingsAccountsaver2=newSavingsAccount(3000); SavingsAccount.modifyInterestRate(0.04); //設(shè)置利率為4% System.out.print("InterestRate"); //輸出利率 saver1.printR(); System.out.print("saver1’sbalanceis:"); //輸出用戶1的總額 saver1.printB(); System.out.print("saver2’sbalanceis:"); //輸出用戶2的總額 }}classSavingsAccount{ privatedoublesavingsBalance; //聲明實例變量staticdoubleannualInterestRate; //聲明靜態(tài)變量publicSavingsAccount(doublex){savingsBalance=x;} //構(gòu)造函數(shù)publicvoidadd(doublex){savingsBalance=savingsBalance+x;}//計算總存款publicstaticvoidmodifyInterestRate(doublex){annualInterestRate=x;} //年利率publicvoidprintB(){System.out.println(savingsBalance*(1+annualInterestRate));} //輸出總額publicvoidprintR(){System.out.println(annualInterestRate);} //輸出年利息}程序運行結(jié)果:InterestRate0.04saver1’sbalanceis:2080.0saver2’sbalanceis:3120.0InterestRate0.05saver1’sbalanceis:2100.0saver2’sbalanceis:3150.04.設(shè)計一個交通工具類vehicle,其中的屬性包括速度speed、種類kind;方法包括:設(shè)置顏色setColor,取得顏色getColor。再設(shè)計一個子類Car,增加屬性passenger表示可容納旅客人數(shù),添加方法取得最大速度getMaxSpeed()。importjava.awt.*;publicclassvehicle{ privateintspeed;privateStringkind;privateColorcolor;publicvehicle() { speed=2000;kind="TO";color=Col
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 頂旺新材料有限公司年產(chǎn) 氣柱袋 1000 萬件異址擴建項目環(huán)評報告表
- 2025年碳硫分析儀合作協(xié)議書
- 四川學(xué)校人造草坪施工方案
- 張家口自建輕鋼房施工方案
- ?;髽I(yè)危險源辨識與控制方案
- 工程建設(shè)領(lǐng)域信息化與廉政風(fēng)險防控策略
- 數(shù)字化轉(zhuǎn)型的關(guān)鍵技術(shù)
- 高中化學(xué)大單元教學(xué)策略的運用探討
- 污染防治違規(guī)施工方案
- 四級人力資源管理師-2019年5月四級人力資源管理師考試《理論知識》真題
- 市政工程監(jiān)理規(guī)劃范本(完整版)
- (完整版)考研英美文學(xué)名詞解釋
- 第3章MAC協(xié)議
- 中小學(xué)基本辦學(xué)條件標(biāo)準(zhǔn)(建設(shè)用地校舍建設(shè)標(biāo)準(zhǔn))
- 《醫(yī)院感染法律法規(guī)》最新PPT課件
- 交管12123駕照學(xué)法減分題庫及答案共155題(完整版)
- word公章模板
- 中西醫(yī)結(jié)合腫瘤學(xué)試卷(含答案)
- 制衣常識中英對照精講
- 頸椎病先兆頸椎病的保養(yǎng)及頸椎枕選擇原則
- 集團公司財務(wù)管理內(nèi)部交易管理辦法,
評論
0/150
提交評論