java軟件工程師面試題有哪些呢?今天小編爲大家收集整理了以下的面試題,歡迎學習!
Java基礎方面:
1,作用域public,protected,private,以及不寫時的區別
答:區別如下:
作用域 當前類 同一package 子孫類 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
不寫時默認爲friendly
2,ArrayList和Vector的區別,HashMap和Hashtable的區別
答:就ArrayList與Vector主要從二方面來說.
一.同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線程序不安全的,不是同步的
二.數據增長:當需要增長時,Vector默認增長爲原來一培,而ArrayList卻是原來的一半
就HashMap與HashTable主要從三方面來說。
一.歷史原因:Hashtable是基於陳舊的Dictionary類的,HashMap是Java 1.2引進的Map接口的一個實現
二.同步性:Hashtable是線程安全的,也就是說是同步的,而HashMap是線程序不安全的`,不是同步的
三.值:只有HashMap可以讓你將空值作爲一個表的條目的key或value
3,char型變量能不能定義爲一箇中文?爲什麼?
答:是能夠定義成爲一箇中文的,因爲java中以unicode編碼,一個char佔16個字節,所以放一箇中文是沒問題的
4,多線程有幾種表示方法,都是什麼?同步有幾種實現方法,都是什麼?
答:多線程有兩種實現方法,分別是繼承Thread類與實現Runnable接口
同步的實現方面有兩種,分別是synchronized,wait與notify
5,繼承時候類的執行順序問題,一般都是選擇題,問你將會打印出什麼?
答:父類:
package test;
public class FatherClass
{
public FatherClass()
{
tln("FatherClass Create");
}
}
子類:
package test;
import erClass;
public class ChildClass extends FatherClass
{
public ChildClass()
{
tln("ChildClass Create");
}
public static void main(String[] args)
{
FatherClass fc = new FatherClass();
ChildClass cc = new ChildClass();
}
}
輸出結果:
C:>java dClass
FatherClass Create
FatherClass Create
ChildClass Create
6,內部類的實現方式?
答:示例代碼如下:
package test;
public class OuterClass
{
private class InterClass
{
public InterClass()