- 相關推薦
java編程筆試面試題
引導語:應聘技術類的崗位都是需要經過筆試考察這一個環節的,以下是小編整理的java編程筆試面試題,歡迎參考閱讀!
簡答題:
01、switch語句能否作用在byte上,能否作用在long上,能否作用在String上?
答:
在switch(expr1)中,expr1只能是一個整數表達式或者枚舉常量(更大字體),
整數表達式可以是int基本類型或Integer包裝類型,
由于,byte,short,char都可以隱含轉換為int,
所以,這些類型以及這些類型的包裝類型也是可以的。
顯然,long和String類型都不符合switch的語法規定,
并且不能被隱式轉換成int類型,
所以,它們不能作用于swtich語句中。
02、short s1 = 1; s1 = s1 + 1;有什么錯?short s1 = 1; s1 += 1;有什么錯?
答:
對于short s1 = 1; s1 = s1 + 1; 由于s1+1運算時會自動提升表達式的類型,
所以結果是int型,再賦值給short類型s1時,編譯器將報告需要強制轉換類型的錯誤。
對于short s1 = 1; s1 += 1;由于+= 是java語言規定的運算符,java編譯器會對它進行特殊處理,因此可以正確編譯。
03、簡述Java中構造方法的概念及特點。
答:
構造方法:構造方法是一種特殊的方法,用于初始化對象。
特點:
① 構造方法與類同名,可以有參數,也可無參數。
② 構造方法沒有返回值,在方法前也不需要寫void。
③ 創建對象時,系統自動調用構造方法。
④ 用戶在程序中不能直接調用構造方法,只能通過new操作符調用。
⑤ 一個類可以有多個同名構造方法,但參數必須不同。
⑥ 類中可以不定義構造方法,此時Java提供一個默認的無參數構造方法
04、簡述Java中接口的概念及接口的性質?
答:
Java語言規定,類只能實現單繼承,但接口可以實現多重繼承。
接口中定義的方法都是抽象方法,定義的所有域都是常量。
因此接口可以看作是沒有實現的方法和常量的集合。
使用接口主要是解決Java語言不支持多重繼承的問題。
性質:
① 接口不提供代碼重用性。因為接口中的方法都是沒有實現的方法,因此所有的方法體都要自己編寫。
② 接口可以通過多繼承進行擴展。
③ 接口不能升級,即提供給用戶的接口不能再改變。
05、數組有沒有length()這個方法? String有沒有length()這個方法?
答:
數組沒有length()這個方法,有length的屬性。String有length()這個方法。
06、構造器Constructor是否可被override?
答:
構造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。
07、啟動一個線程是用run()還是start()?
答:
啟動一個線程是調用start()方法,使線程所代表的虛擬處理機處于可運行狀態,這意味著它可以由JVM調度并執行。
這并不意味著線程就會立即運行。
run()方法可以產生必須退出的標志來停止一個線程。
08、接口是否可繼承接口? 抽象類是否可實現(implements)接口? 抽象類是否可繼承實體類(concrete class)?
答:
接口可以繼承接口。
抽象類可以實現(implements)接口,抽象類是否可繼承實體類,但前提是實體類必須有明確的構造函數。
09、sleep() 和 wait() 有什么區別?
答:
sleep是線程類(Thread)的方法,導致此線程暫停執行指定時間,給執行機會給其他線程,但是監控狀態依然保持,到時后會自動恢復。
調用sleep不會釋放對象鎖。
wait是Object類的方法,對此對象調用wait方法導致本線程放棄對象鎖,進入等待此對象的等待鎖定池,
只有針對此對象發出notify方法(或notifyAll)后本線程才進入對象鎖定池準備獲得對象鎖進入運行狀態。
10、abstract class和interface有什么區別?
答:
聲明方法的存在而不去實現它的類被叫做抽象類(abstract
class),它用于要創建一個體現某些基本行為的類,并為該類聲明方法,但不能在該類中實現該類的情況。
不能創建abstract 類的實例。
然而可以創建一個變量,其類型是一個抽象類,并讓它指向具體子類的一個實例。
不能有抽象構造函數或抽象靜態方法。
Abstract 類的子類為它們父類中的所有抽象方法提供實現,否則它們也是抽象類為。
取而代之,在子類中實現該方法。
知道其行為的其它類可以在類中實現這些方法。
接口(interface)是抽象類的變體。
在接口中,所有方法都是抽象的。
多繼承性可通過實現這樣的接口而獲得。
接口中的所有方法都是抽象的,沒有一個有程序體。
接口只可以定義static final成員變量。
接口的實現與子類相似,除了該實現類不能從接口定義中繼承行為。
當類實現特殊接口時,它定義(即將程序體給予)所有這種接口的方法。
然后,它可以在實現了該接口的類的任何對象上調用接口的方法。
由于有抽象類,它允許使用接口名作為引用變量的類型。
通常的動態聯編將生效。
引用可以轉換到接口類型或從接口類型轉換,instanceof 運算符可以用來決定某對象的類是否實現了接口。
【java編程筆試面試題】相關文章:
java編程基礎07-26
java教程之Java編程基礎09-12
Java語言的編程特點03-18
Java編程學習示例07-31
java面向接口編程08-01
java并發編程參考10-30
java編程規范介紹07-10
Java面試題(精選)06-30
java面試題05-20
java面向對象編程講解06-18