1. 程式人生 > >java面試寶典及答案

java面試寶典及答案

1一個Java原始檔是否可以多個類,不是內部類,有什麼限制?
答:可以包含多個類,但是不是與檔名一致的類,不可以用Public修飾
2java有沒有goto?
答:有goto,但是Java的Goto是保留字,保留字的意思是不排除以後會使用,變成關鍵字,java有如下保留字:byValue, cast, future, generic, inner, operator, outer, rest, var , goto ,const
3說說&和&&的區別?
答:邏輯與的運算子 &&有短路的效果
4char型變數中能不能儲存一箇中文漢字,為什麼?

5面向物件的特徵有哪些方面?

答:抽象,

      繼承:派生類可以從它的基類那裡繼承方法和例項變數,並且類可以修改或增加新的方法使之更適合特殊的需要。

    封裝

    多型:重寫,過載

6:String是最基本的資料型別嗎

答:不是。java中只有八種基本型別byte short int double float char boolean long

java.long.String 是final型別的,因此不能繼承和修改這個類

7:int和Integer的區別

答:Integer是int的包裝類,Integer預設值是null,而int預設值是0;

 public static void main(String[] args) {
13 int i = 128; 14 Integer i2 = 128; 15 Integer i3 = new Integer(128); 16 //Integer會自動拆箱為int,所以為true 17 System.out.println(i == i2); 18 System.out.println(i == i3); 19 System.out.println("**************"); 20 Integer i5 = 127;//java在編譯的時候,被翻譯成-> Integer i5 = Integer.valueOf(127);
21 Integer i6 = 127; 22 System.out.println(i5 == i6);//true 23 /*Integer i5 = 128; 24 Integer i6 = 128; 25 System.out.println(i5 == i6);//false 26 */ Integer ii5 = new Integer(127); 27 System.out.println(i5 == ii5); //false 28 Integer i7 = new Integer(128); 29 Integer i8 = new Integer(123); 30 System.out.println(i7 == i8); //false 31 } 32
為什麼還要提供包裝類呢

是為了在各種類之間轉換

String valueOf = String.valueOf(123456);

8:String和StringBuffer的區別

String類物件為不可變物件,一旦修改了String物件的值,隱性重新建立了一個String物件,釋放原String物件,StringBuffer物件為可修改物件可以通過append方法來修改值

String是final來修飾的

9:getFields()獲得某個類的所有的公共(public)的欄位,包括父類。 

getDeclaredFields()獲得某個類的所有申明的欄位,即包括public、private和proteced,但是不包括父類的申明欄位。