標籤:抽象類別 參數 內部類 方法參數 調用 如何 重寫 finalize 表示
2018年網易Java筆試題
- OOP三特性
封裝:
繼承:
多態:
- Java中如何?多繼承
實現多個介面
使用內部類
- Java對象產生過程
4.HashTable和HashMap的區別
ü 曆史原因:Hashtable是基於陳舊的Dictionary類實現的,HashMap是Java 1.2引進的一個Map介面的一個實現
ü 同步性:Hashtable是同步的,這個類中的一些方法保證了Hashtable中的對象是安全執行緒的,而HashMap則是非同步,因此HashMap中的對象並不是安全執行緒的,因為同步的要求會影響執行的效率,所以你不需要安全執行緒的集合,那麼使用HashMap是一個很好的選擇,這樣可以避免由於同步帶來的不必要的效能的開銷,從而提高效率
ü 值:HashMap可以存入空值作為key或value,Hashtable則不行!
5.介面的成員域具有什麼屬性
必須是public 類型的
6.經常使用的三種設計模式,畫出UML圖,並寫出Java代碼
7.final、finally、finalize的區別
final關鍵字
先看看final關鍵字,它可以被用於以下幾個地方:
1、修飾屬性、局部變數、方法參數:
如果final修飾的是一個基本類型,就表示這個變數所賦予的值不可修改,即它是個常量;如果final修飾的是一個對象,就表示這個變數被賦予的引用不可修改
2、修飾方法:
被final修改的方法不能被覆寫。
3、修飾類
final類不允許被繼承(如果String類),編譯器在處理時把它的所有方法都當作final的(但資料成員既可以是final,也可以不是,以定義時前面修飾為準),因此final類比普通類擁有更高的效率:
finally關鍵字
finally關鍵字用在try/catch語句最末,表示不管是否拋出異常,finally塊中的語句最終肯定、一定會被執行
finalize關鍵字
finalize()是Object類的一個方法,finalize()方法是GC(garbage collector)運行機制的一部分,由對象的記憶體回收行程調用此方法,當一個對象被回收時,finalize()方法將會被調用。
8.SOAP、WSDL、UDDI的作用
9.Java輸入輸出資料流的兩種類型是什麼
10.ArrayList如何?自訂的排序
11.下列代碼如何最佳化
public String test(String s1,String s2)
{
String s = s1;
s+=s2;
return s;
}
(代碼非原題,應是String到StringBuffer的最佳化)
12.寫出一個JSP/Servlet,實現傳入A和B,計算A*B,並顯示結果
常見面試題整理:
① .抽象類別和介面的區別
- 介面是公開的,裡面不能有私人的方法或變數,介面不能繼承其他的類,只能實現其他的介面,子類一定要實現介面裡面的所有的方法,介面裡面的方法都是抽象的。
而抽象類別是可以有是有的方法或變數的,實現抽象類別可以有選擇地重寫需要用到的方法,但是必須實現裡面所有的抽象方法,抽象類別裡面可以有非抽象方法,子類同樣要實現抽象類別裡面的所有的抽象方法。
- 介面中定義的變數只能是public static final 型,且必須給其初值,所以實作類別中不能重新定義,也不能改變其值。
抽象類別中的變數可定義public private等型,其值可以在子類中重新定義,也可以重新賦值。
- 抽象類別可以有構造方法,而介面則沒有
2018年網易Java筆試題