JAVA面試題(8)

1.一個以”.java”爲後綴的源文件,正確的是()

A. 只能包含一個類,類名必須與文件名相同
B. 只能包含與文件名相同的類以及其中的內部類
C. 只能有一個與文件名相同的類,可以包含其他類
D. 可以包含任意類
答案: C
解析:一個.java文件中,只能存在一個類是用public修飾的,並且這個類必須與類名一致,文件中其他的類不能是public權限的,但可以有很多個類。

2.Which is not Java primitive types?

A. short
B. Boolean
C. byte
D. float
答案: B
解析:java規定類名首字母必須大寫,這裏可以直觀的看出來Boolean是一個引用類型,不是基本數據類型。
java中的基本數據類型都對應一個引用類型,如Float是float的引用類型,Integer是int的引用類型。

3.多個線程可同時操作一個數據,爲了保證該數據的準確性,可將操作該數據的部分改爲

A:類型定義機制;
B:數據封裝機制;
C:類型定義機制和數據封裝機制
D:上述都不對;

答案: A
解析: 對該數據加鎖,放在同步代碼塊中 synchronize(){ }

4.下面有關List接口、Set接口和Map接口的描述,錯誤的是?

A. 他們都繼承自Collection接口
B. List是有序的Collection,使用此接口能夠精確的控制每個元素插入的位置
C.Set是一種不包含重複的元素的Collection
D. Map提供key到value的映射。一個Map中不能包含相同的key,每個key只能映射一個value

答案: A 解析:
1、List接口和Set接口都繼承自Collection接口,Collection接口繼承Iterable接口(Iterable有一個Iterator方法),即可迭代的;Collection只能存儲引用類型,並且是單個存儲;
2、List接口存儲元素特點:有序(存進去什麼順序取出來還什麼順序),可重複;Set接口存儲元素特點:無序,不可重複
3、實現List接口主要的類包括ArrayList,LinkedList,Vector;實現Set的主要類包括:hashSet,另外還有一個TreeSet接口繼承它(自動排序)
4、Map接口以鍵值對方式存儲元素,鍵無序不可重複,Map和Collection沒有任何關係

5.在基本JAVA類型中,如果不明確指定,整數型的默認是什麼類型?帶小數的默認是什麼類型?

A. int float
B. int double
C. long float
D. long double
答案: B
解析:
Java中,如果對整數不指定類型,默認時int類型,對小數不指定類型,默認是double類型 如果要指定長整型,最好寫爲long a =
100000000L,如果要指定爲單精度最好寫爲float a= 12.34F

6.下面有關webservice的描述,錯誤的是?

A. Webservice是跨平臺,跨語言的遠程調用技術
B. Webservice通信機制實質就是json數據交換
C. Webservice採用了soap協議(簡單對象協議)進行通信
D. WSDL是用於描述 Web Services 以及如何對它們進行訪問
答案: B
解析:Web service顧名思義是基於web的服務,它是一種跨平臺,跨語言的服務。
我們可以這樣理解它,比如說我們可以調用互聯網上查詢天氣信息的web服務,把它嵌入到我們的B/S程序中,當用戶從我們的網點看到天氣信息時,會認爲我們爲他提供很多的服務,但其實我們什麼也沒做,只是簡單的調用了一下服務器上的一端代碼而已。Web
service 可以將你的服務發佈到互聯網上讓別人去調用,也可以調用別人發佈的web service,和使用自己的代碼一樣。
它是採用XML傳輸格式化的數據,它的通信協議是SOAP(簡單對象訪問協議).

7.從下面四段(A,B,C,D)代碼中選擇出正確的代碼段()

A.abstract class Name {
private String name; public abstract boolean isStupidName(String name) {}
}
B.public class Something { void doSomething () { private String s = ?”; int l = s.length(); } }
C.public class Something { public static void main(String[] args) {
Other o = new Other(); new Something().addOne(o); } public void
addOne(final Other o) { o.i++; } } class Other {
public int i; }
D.public class Something { public int addOne(final int x) { return ++x; } }
答案:C
解析: A…抽象方法不能有方法體
B.方法中定義的是局部變量,不能用類成員變量修飾符private D.final修飾爲常量,常量的值不能被改變

8.選擇下面代碼的運行結果:()。

public class Test{
public void method()
{
for(int i = ; i < 3; i++)
{
System.out.print(i);
}
System.out.print(i);
}
}

A.122
B.123
C.編譯錯誤
D.沒有任何輸出
答案:C
解析:i變量的作用範圍是整個for循環

9.Java 創建對象的方式有哪幾種?

有4種顯式地創建對象的方式:
1.用new語句創建對象,這是最常用的創建對象的方式。
2.運用反射手段,調用Java.lang.Class或者java.lang.reflect.Constructor類的newInstance()實例方法。
3.調用對象的clone()方法。
4.運用反序列化手段,調用java.io.ObjectInputStream對象的readObject()方法.

10.問:抽象類(abstract class)和接口(interface)有什麼區別?

解答:由於本試題的答案詳解篇幅較長比較詳細,大家可以通過留言,小編會將答案發給你們個人。

如果覺得我寫的還行,請關注我的公衆號,每天定時推送乾貨.
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章