- 相關(guān)推薦
2015年下半年計算機二級Java考試精選簡(jiǎn)答題
1、String是最基本的數據類(lèi)型嗎?

答:基本數據類(lèi)型包括byte、int、char、long、float、double、boolean和short。
java.lang.String類(lèi)是final類(lèi)型的,因此不可以繼承這個(gè)類(lèi)、不能修改這個(gè)類(lèi)。為了提高效率節省空間,我們應該用StringBuffer類(lèi)。
2、簡(jiǎn)述Java多態(tài)性的概念,隱藏、覆蓋和重載的概念及使用時(shí)應注意的問(wèn)題。
答:多態(tài)性:在一個(gè)類(lèi)中可以定義多個(gè)同名方法,有靜態(tài)多態(tài)性和動(dòng)態(tài)多態(tài)性。
隱藏:子類(lèi)重新定義了父類(lèi)中的同名成員變量。被隱藏的父類(lèi)成員變量在子類(lèi)中仍然占有存儲空間。
覆蓋:子類(lèi)重新定義了父類(lèi)的同名成員方法,要求方法名、參數和返回類(lèi)型都相同。與隱藏不同,此時(shí)子類(lèi)方法將替換掉同名的父類(lèi)方法,清除父類(lèi)方法在子類(lèi)中占有的空間。
重載:在同一個(gè)類(lèi)中定義多個(gè)同名但參數不同的方法,參數不同是指個(gè)數、類(lèi)型或順序不同。
注意事項:
不能覆蓋父類(lèi)的static方法和final方法。
可以隱藏父類(lèi)的static方法,即在子類(lèi)中聲明同名static方法。
非Static方法不能隱藏,只能覆蓋。
子類(lèi)必須覆蓋父類(lèi)的abstract方法。
3、int 和 Integer 有什么區別?
答:Java 提供兩種不同的類(lèi)型:引用類(lèi)型和原始類(lèi)型(或內置類(lèi)型)。Int是java的原始數據類(lèi)型,Integer是java為int提供的封裝類(lèi)。Java為每個(gè)原始類(lèi)型提供了封裝類(lèi)。引用類(lèi)型和原始類(lèi)型的行為完全不同,并且它們具有不同的語(yǔ)義。引用類(lèi)型和原始類(lèi)型具有不同的特征和用法,它們包括:大小和速度問(wèn)題,這種類(lèi)型以哪種類(lèi)型的數據結構存儲,當引用類(lèi)型和原始類(lèi)型用作某個(gè)類(lèi)的實(shí)例數據時(shí)所指定的缺省值。對象引用實(shí)例變量的缺省值為 null,而原始類(lèi)型實(shí)例變量的缺省值與它們的類(lèi)型有關(guān)。
4、String 和StringBuffer的區別?
答:JAVA平臺提供了兩個(gè)類(lèi):String和StringBuffer,它們可以?xún)Υ婧筒僮髯址,即包含多個(gè)字符的字符數據。這個(gè)String類(lèi)提供了數值不可改變的字符串。而這個(gè)StringBuffer類(lèi)提供的字符串進(jìn)行修改。當你知道字符數據要改變的時(shí)候你就可以使用StringBuffer。典型地,你可以使用StringBuffers來(lái)動(dòng)態(tài)構造字符數據。
5、運行時(shí)異常與一般異常有何異同?
答:異常表示程序運行過(guò)程中可能出現的非正常狀態(tài),運行時(shí)異常表示虛擬機的通常操作中可能遇到的異常,是一種常見(jiàn)運行錯誤。java編譯器要求方法必須聲明拋出可能發(fā)生的非運行時(shí)異常,但是并不要求必須聲明拋出未被捕獲的運行時(shí)異常。
6、final, finally, finalize的區別?
答:final 用于聲明屬性,方法和類(lèi),分別表示屬性不可變,方法不可覆蓋,類(lèi)不可繼承。
finally是異常處理語(yǔ)句結構的一部分,表示總是執行。
finalize是Object類(lèi)的一個(gè)方法,在垃圾收集器執行的時(shí)候會(huì )調用被回收對象的此方法,可以覆蓋此方法提供垃圾收集時(shí)的其他資源回收,例如關(guān)閉文件等。
7、sleep( ) 和 wait( ) 有什么區別?
答:sleep是線(xiàn)程類(lèi)(Thread)的方法,導致此線(xiàn)程暫停執行指定時(shí)間,給執行機會(huì )給其他線(xiàn)程,但是監控狀態(tài)依然保持,到時(shí)后會(huì )自動(dòng)恢復。調用sleep不會(huì )釋放對象鎖。
wait是Object類(lèi)的方法,對此對象調用wait方法導致本線(xiàn)程放棄對象鎖,進(jìn)入等待此對象的等待鎖定池,只有針對此對象發(fā)出notify方法(或notifyAll)后本線(xiàn)程才進(jìn)入對象鎖定池準備獲得對象鎖進(jìn)入運行狀態(tài)。
8、Overload和Override的區別。Overloaded的方法是否可以改變返回值的類(lèi)型?
答:方法的重寫(xiě)Overriding和重載Overloading是Java多態(tài)性的不同表現。重寫(xiě)Overriding是父類(lèi)與子類(lèi)之間多態(tài)性的一種表現,重載Overloading是一個(gè)類(lèi)中多態(tài)性的一種表現。如果在子類(lèi)中定義某方法與其父類(lèi)有相同的名稱(chēng)和參數,我們說(shuō)該方法被重寫(xiě) (Overriding)。子類(lèi)的對象使用這個(gè)方法時(shí),將調用子類(lèi)中的定義,對它而言,父類(lèi)中的定義如同被“屏蔽”了。如果在一個(gè)類(lèi)中定義了多個(gè)同名的方法,它們或有不同的參數個(gè)數或有不同的參數類(lèi)型,則稱(chēng)為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類(lèi)型。
9、abstract class和interface有什么區別?
答:聲明方法的存在而不去實(shí)現它的類(lèi)被叫做抽象類(lèi)(abstract class),它用于要創(chuàng )建一個(gè)體現某些基本行為的類(lèi),并為該類(lèi)聲明方法,但不能在該類(lèi)中實(shí)現該類(lèi)的情況。不能創(chuàng )建abstract 類(lèi)的實(shí)例。然而可以創(chuàng )建一個(gè)變量,其類(lèi)型是一個(gè)抽象類(lèi),并讓它指向具體子類(lèi)的一個(gè)實(shí)例。不能有抽象構造函數或抽象靜態(tài)方法。Abstract 類(lèi)的子類(lèi)為它們父類(lèi)中的所有抽象方法提供實(shí)現,否則它們也是抽象類(lèi)為。取而代之,在子類(lèi)中實(shí)現該方法。知道其行為的其它類(lèi)可以在類(lèi)中實(shí)現這些方法。
接口(interface)是抽象類(lèi)的變體。在接口中,所有方法都是抽象的。多繼承性可通過(guò)實(shí)現這樣的接口而獲得。接口中的所有方法都是抽象的,沒(méi)有一個(gè)有程序體。接口只可以定義static final成員變量。接口的實(shí)現與子類(lèi)相似,除了該實(shí)現類(lèi)不能從接口定義中繼承行為。當類(lèi)實(shí)現特殊接口時(shí),它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實(shí)現了該接口的類(lèi)的任何對象上調用接口的方法。由于有抽象類(lèi),它允許使用接口名作為引用變量的類(lèi)型。通常的動(dòng)態(tài)聯(lián)編將生效。引用可以轉換到接口類(lèi)型或從接口類(lèi)型轉換,instanceof 運算符可以用來(lái)決定某對象的類(lèi)是否實(shí)現了接口。
10、啟動(dòng)一個(gè)線(xiàn)程是用run( )還是start( )?
答:?jiǎn)?dòng)一個(gè)線(xiàn)程是調用start( )方法,使線(xiàn)程所代表的虛擬處理機處于可運行狀態(tài),這意味著(zhù)它可以由JVM調度并執行。這并不意味著(zhù)線(xiàn)程就會(huì )立即運行。run( )方法可以產(chǎn)生必須退出的標志來(lái)停止一個(gè)線(xiàn)程。
【下半年計算機二級Java考試簡(jiǎn)答題】相關(guān)文章:
計算機二級考試JAVA試題08-04
計算機二級考試Java精選訓練題07-20
計算機二級考試Java試題及答案10-24
計算機二級JAVA考試模擬試題06-24
計算機二級JAVA考試摸底試題07-08
2017下半年計算機二級考試《java》試題及答案06-28
下半年全國計算機二級考試Java臨考練習07-02