J2SE面試題(一) 基本概念

J2SE面試題(一) 基本概念

轉自:J2SE java 面試題,註冊獲取

內容較多,可以自行點擊上方鏈接查看全部

1. 面向對象的特徵有哪些方面?

封裝
最常見的是把屬性私有化封裝在一個類裏面,只能通過方法去訪問
繼承
子類繼承父類,從而繼承了父類的方法和屬性
抽象
比如一個英雄類,抽象出了name,hp這些屬性,使得開發過程中更加易於理解
多態
多態分操作符的多態和類的多態。 類的多態指父類引用指向子類對象,並且有繼承,有重寫。

2. String是最基本的數據類型嗎?

String是類類型不是基本類型。
基本類型 有八種
這八種基本類型分別是:
整型 (4種)
字符型 (1種)
浮點型 (2種)
布爾型(1種)

3. int 和 Integer 有什麼區別?

int 是基本類型32位長度的整數
Integer 是類類型,是int的封裝類
int和Integer之間可以通過自動裝箱 自動拆箱 互相轉換

4. String 和StringBuffer的區別?

String是immutable的,其內容一旦創建好之後,就不可以發生改變。
StringBuffer 是可以變長的,內容也可以發生改變
改變的原理是StringBuffer內部採用了字符數組存放數據,在需要增加長度的時候,創建新的數組,並且把原來的數據複製到新的數組這樣的辦法來實現。

5. 運行時異常與一般異常有何異同?

運行時異常 又叫做非可查異常,在編譯過程中,不要求必須進行顯示捕捉
一般異常又叫做可查異常,在編譯過程中,必須進行處理,要麼捕捉,要麼通過throws 拋出去.

6. 說出ArrayList, Vector, LinkedList的存儲性能和特性

先說ArrayList和Vector
兩者都繼承了抽象類AbstractList,但是Vector是線程安全的,而ArrayList是非線程安全的

再說ArrayList和LinkedList的區別
ArrayList 是數組結構,所以定位很快,但是插入和刪除很慢
LinkedList 是雙向鏈表結構,所以插入和刪除很快,但是定位很慢

7. Collection 和 Collections的區別

首先不要說成了一個是單數,一個是複數。。。
Collection是接口,是List和Set的父接口
Collections是工具類,提供了排序,混淆等等很多實用方法

8. &和&&的區別

& 有兩個作用,分別是 位與邏輯與
&& 就是邏輯與
作爲邏輯與, & 和 && 分別表示長路與和短路與
長路與 兩側,都會被運算
短路與 只要第一個是false,第二個就不進行運算了

9. HashMap和Hashtable的區別

HashMap和Hashtable都實現了Map接口,都是鍵值對保存數據的方式
區別1:
HashMap可以存放 null
Hashtable不能存放null
區別2:
HashMap不是線程安全的類
Hashtable是線程安全的類

10. final, finally, finalize的區別

final
final修飾類,方法,基本類型變量,引用的時候分別有不同的意思
修飾類 表示該類不能被繼承
修飾方法 表示該方法不能被重寫
修飾基本類型變量 表示該變量只能被賦值一次
修飾引用 表示該引用只有一次指向對象的機會
finally
finally 是用於異常處理的場面,無論是否有異常拋出,都會執行
finalize
finalize是Object的方法,所有類都繼承了該方法。 當一個對象滿足垃圾回收的條件,並且被回收的時候,其finalize()方法就會被調用

更多原文在此查看

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章