1. 程式人生 > >Java面試題及解析(判斷題)

Java面試題及解析(判斷題)

1.程式碼差錯,判斷程式碼對錯,並指出錯誤處

abstract class Name{
private String name;
public abstract Boolean isStupidName(String name){}
}
答案:抽象類中的抽象方法不可實現。即抽象方法後無花括號{}。
Public class Something{
Void doSomething(){
Private String s=””;
Int l = s.length();
}
}

**答案:**s是字串,不是陣列,沒有.length()方法。

Abstract class Something{
Private abstract String doSomething();
}
答案:抽象類中的類方法不可為私有,因為抽象類無法實現抽象方法,必須交由子類實現,所以不可將其方法設為私有。
Public class Something{
Public int addOne(final int x){
Return ++x;
}
}

**答案:**int x 不能加final,final型別的值為常量。不能++
Public class Something{
Public static void main(Stirng[] args){
Other o = new Other();
New Something().addOne(o);
}
Public void addOne(final Other o){
o.i++;
}
}

**答案:**i 未定義 沒有Other類,無法new出來other物件。

2.String是基本資料型別();

答案:錯誤,String不是基本資料型別。
基本資料型別:boolean,char,int,short,long,float,double,byte

3.陣列獲取長度使用length()方法

答案;錯誤,陣列獲取長度用.length屬性而不是length()方法。

4.List,Set,Map是繼承自Collection介面()

**答案:**Map不是繼承自Collection介面

這裡寫圖片描述

5.java字元型別採用的是Unicode編碼,但所佔位元組由具體軟硬體環境決定()

答案:錯誤,所佔位元組不受任何軟體硬體環境決定,是固有狀態。一個字元一律佔2個位元組。

6.java語言中的陣列元素下標總是從0開始,下標可以是整數或整形表示式()

**答案:**dei

7.如果p是父類Parent的物件,而c是子類Child的物件,則語句p=c是正確的()

答案:錯誤,父類物件可以有三種,private,public,protected,子類物件也有三種,二者不一定相等。

8.java程式裡,建立的類物件用關鍵字new,回收無用的類物件使用關鍵字free()

答案:錯誤,Java沒有關鍵字free()。
Java的回收機制:其實Java垃圾回收主要做的是兩件事:1)記憶體回收 2)碎片整理.

9.由繼承性可知,程式中子類擁有的成員數目一定大於等於父類擁有的成員數目()

答案:錯誤,父類私有的成員子類無法繼承,子類也可以不定義自己的私有屬性。

10.靜態初始化器是在其所屬的類載入記憶體時由系統自動呼叫執行。()

答案:

11.註釋的作用是使程式在執行時在螢幕上顯示//之後的內容()

答案:對, //註釋之後的內容無法顯示

12.一個執行緒物件的具體操作是由run()方法的內容確定的,但是Thread類的run()方法時空的,其中沒有內容,所以使用者程式要麼派生一個Thread的子類並在子類裡重新定義run()方法,要麼使一個類實現Runnable介面並書寫其中run()方法的方法體()

答案:正確

13.對於java中String的例項物件,一旦建立就不能修改它內部所包含的字元序列(?)

答案:錯誤,詳情參見部落格(Java中String物件建立機制詳解)
例項物件本身不可修改,但是引用可以修改。

14.子類要呼叫父類的方法,必須使用super關鍵字 ()

**答案:**NO,可以使用,也可以不使用。

父類:

public abstract class one {

    public  void print(){
        System.out.println("父類方法");
    }   
}

子類:

public class two extends one{

    public void aa(){
        print();
    }
}