2017JAVA經(jīng)典基礎(chǔ)面試題及答案
抽象類(lèi)可以有抽象方法,和普通方法、還可以包含普通類(lèi)成員的一切成員。下面就由學(xué)習(xí)啦小編為大家介紹一下2017JAVA經(jīng)典基礎(chǔ)面試題的文章,歡迎閱讀。
2017JAVA經(jīng)典基礎(chǔ)面試題篇1
1、基本數(shù)據(jù)類(lèi)型
數(shù)值型:byte 、short、int、long(浮點(diǎn)類(lèi)型:double float)
字符型:char
布爾值:boolean
2、標(biāo)識(shí)符的命名規(guī)則?
字母,數(shù)字、下劃線或者美元符號(hào)組成!
首字母不能以數(shù)字開(kāi)頭
不能用關(guān)鍵字,布爾值 ,null
區(qū)分大小寫(xiě),沒(méi)有長(zhǎng)度限制,堅(jiān)持見(jiàn)名知義的原則!
3、引用數(shù)據(jù)類(lèi)型
String 類(lèi)、接口、數(shù)組
4、抽象類(lèi)和接口的區(qū)別?
抽象類(lèi)可以有抽象方法,和普通方法、還可以包含普通類(lèi)成員的一切成員。
接口里面全部是靜態(tài)常量、一個(gè)類(lèi)只能繼承一個(gè)抽象類(lèi)。一個(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)接口!簡(jiǎn)單來(lái)說(shuō),
接口是公開(kāi)的,里面不能有私有的方法或變量,是用于讓別人使用的,而抽象類(lèi)是可以有私有方法或私有變量的,
另外,實(shí)現(xiàn)接口的一定要實(shí)現(xiàn)接口里定義的所有方法,而實(shí)現(xiàn)抽象類(lèi)可以有選擇地重寫(xiě)需要用到的方法,一般的應(yīng)用里,
最頂級(jí)的是接口,然后是抽象類(lèi)實(shí)現(xiàn)接口,最后才到具體類(lèi)實(shí)現(xiàn)。
還有,接口可以實(shí)現(xiàn)多重繼承,而一個(gè)類(lèi)只能繼承一個(gè)超類(lèi),但可以通過(guò)繼承多個(gè)接口實(shí)現(xiàn)多重繼承
2017JAVA經(jīng)典基礎(chǔ)面試題篇2
1、重寫(xiě)和重載?
重載涉及同一個(gè)類(lèi)的同名方法,要求方法名相同,參數(shù)列表不同,與返回值類(lèi)型無(wú)關(guān)
重寫(xiě)是子類(lèi)和父類(lèi)之間的同名方法,要求方法名相同,參數(shù)列表相同,返回值類(lèi)型相同!
2、string stringbuff stringbuding區(qū)別
在單機(jī)非多線程(Multithread)的情況下使用StringBuilder會(huì)有較好的效率,因?yàn)镾tringBuilder沒(méi)有處理同步(Synchronized)問(wèn)題
StringBuffer則會(huì)處理同步問(wèn)題,如果StringBuilder會(huì)在多線程下被操作,則要改用StringBuffer,讓對(duì)象自行管理同步問(wèn)題。
3、集合類(lèi)?
Java的集合類(lèi)主要有Map接口和Collection接口派生
Collection是集合類(lèi)的一個(gè)頂級(jí)接口,其直接繼承接口有List與Set
list集合繼承Collection接口,是有序接口!List中允許重復(fù)的元素,也就是說(shuō)List是一組不唯一,有序的對(duì)象!
list接口的實(shí)現(xiàn)類(lèi)有arrayList和LinkedList.
arraylist內(nèi)存分配連續(xù)的空間 善于查找比較快!
LinkedList采用鏈表,刪除和插入效率比較高!
ArrayList 是一個(gè)可改變大小的數(shù)組.當(dāng)更多的元素加入到ArrayList中時(shí),其大小將會(huì)動(dòng)態(tài)地增長(zhǎng).內(nèi)部的元素可以直接通過(guò)get與set方法進(jìn)行訪問(wèn),因?yàn)锳rrayList本質(zhì)上就是一個(gè)數(shù)組.
LinkedList 是一個(gè)雙鏈表,在添加和刪除元素時(shí)具有比ArrayList更好的性能.但在get與set方面弱于ArrayList.
Set
set接口可以存儲(chǔ)一組唯一。無(wú)序的對(duì)象
set的實(shí)現(xiàn)類(lèi)有hashSet
hashSet的優(yōu)點(diǎn)是集合的元素是無(wú)序的排列、允許集合的元素為null,查找效率高!
Map是一組鍵值對(duì)(key、value)
key不要求有序,不允許重復(fù)
value不要求有序,但允許重復(fù)的!
優(yōu)點(diǎn)在與查詢(xún)指定的元素比較高!
2017JAVA經(jīng)典基礎(chǔ)面試題篇3
1、Hashmap 和hashtabie的區(qū)別
1)繼承與實(shí)現(xiàn)的不同
HashTable是基于陳舊的Dictionary類(lèi),完成了Map接口;HashMap是Java1.2引進(jìn)的Map接口的一個(gè)實(shí)現(xiàn)(HashMap繼承于AbstractMap,AbstractMap完成了Map接口)
2)線程安全不同
HashTable的方法是同步的,HashMap的方法是未同步的。
3)對(duì)null的處理不同
HashTable不允許null值的存在,HashMap允許null值的存在
2、final, finally, finalize的區(qū)別。
final 用于聲明屬性,方法和類(lèi),分別表示屬性不可變,方法不可覆蓋,類(lèi)不可繼承。
finally是異常處理語(yǔ)句結(jié)構(gòu)的一部分,表示總是執(zhí)行。
finalize是Object類(lèi)的一個(gè)方法,在垃圾收集器執(zhí)行的時(shí)候會(huì)調(diào)用被回收對(duì)象的此方法,可以覆蓋此方法提供垃圾收集時(shí)的其他資源回收,例如關(guān)閉文件等。
3、char型變量中能不能存貯一個(gè)中文漢字?為什么?.
可以啊。JAVA默認(rèn)的編碼是unicode
4、靜態(tài)變量和實(shí)例變量的區(qū)別?
靜態(tài)變量屬于類(lèi),該類(lèi)不生產(chǎn)對(duì)象,通過(guò)類(lèi)名就可以調(diào)用靜態(tài)變量。
實(shí)例變量屬于該類(lèi)的對(duì)象,必須產(chǎn)生該類(lèi)對(duì)象,才能調(diào)用實(shí)例變量。
猜你喜歡:
1.2017網(wǎng)絡(luò)工程師面試題目及參考答案