2018年網易Java筆試題
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筆試題