當前位置:學問君>人在職場>綜合指導>

java的筆試題2

學問君 人氣:2.97W

1. 是否可以繼承String類?

java的筆試題2

String類是final類,不可以繼承 final是java中的一個關鍵字,可以用來修飾變量、方法和類。用關鍵詞final修飾的域成爲最終域。用關鍵詞final修飾的變量一旦賦值,就不能改變,也稱爲修飾的標識爲常量。如果一個類的域被關鍵字final所修飾,它的取值在程序的整個執行過程中將不會改變。 Map和Hashtable的區別?

Map去掉了HashTable 的contains方法,但是加上了containsValue()和containsKey()方法。

Table同步的,而HashMap是非同步的,效率上逼hashTable要高。

這就意味着,雖然你可以不用採取任何特殊的行爲就可以在一個多線程的應用程序中用一個Hashtable,但你必須同樣地爲一個HashMap提供外同步。

Map允許空鍵值,而hashTable不允許。

3 ract class和interface有什麼區別?

class 是普通類

abstract 是抽象類 包含純虛函數(C++裏)的類

interface 是接口 讓普通類可以繼承他派生出有一定相同點的不同類

1.相同點

A. 兩者都是抽象類,都不能實例化。

B. interface實現類及abstrct class的子類都必須要實現已經聲明的抽象方法。

2. 不同點

A. interface需要實現,要用implements,而abstract class需要繼承,要用extends。

B. 一個類可以實現多個interface,但一個類只能繼承一個abstract class。

C. interface強調特定功能的實現,而abstract class強調所屬關係。

D. 儘管interface實現類及abstrct class的子類都必須要實現相應的抽象方法,但實現的形式不同。interface中的每一個方法都是抽象方法,都只是聲明的 (declaration, 沒有方法體),實現類必須要實現。而abstract class的子類可以有選擇地實現。

4. swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上? 在switch(expr1)中,expr1只能是一個整數表達式或者枚舉常量(更大字型),整數表達式可以是int基本類型或Integer包裝類型,由於,byte,short,char都可以隱含轉換爲int,所以,這些類型以及這些類型的包裝類型也是可以的。顯然,long和String類型都不符合switch的`語法規定,並且不能被隱式轉換成int類型,所以,它們不能作用於swtich語句中。

5. 編程題: 寫一個Singleton出來。

Java:

public class Singleton {

private static Singleton instance = null; public static synchronized Singleton getInstance() {

//這個方法比上面有所改進,不用每次都進行生成對象,只是第一次

//使用時生成實例,提高了效率!

if (instance==null)

instance=new Singleton();

return instance;

}

} 6. JAVA SERVLET API中forward() 與redirect()的區別?

forward是服務器請求資源,服務器直接訪問目標地址的URL,

前者僅是容器中控制權的轉向,在客戶端瀏覽器地址欄中不會顯示出轉向後的地址,他是不會改變Request的值

forward 是轉發,redirect是跳轉。相同點都是爲了兩個組件之間的相互調用。forward的執行原理是服務器端內部的調用,所以它不需要透過瀏覽器來請求,所url地址不會改變,request的作用範圍也沒有中斷過,它的作用域仍然有效。而redirect是重定向,是服務器發送消息告訴瀏覽器,讓瀏覽器重新向新的地址請求,所以,url地址是會改變的,由於重新請求了,因而request也中斷了,重新請求了,它的作用範圍也失效了,放在 request裏面的資訊也隨之而清空了。

7. String 和StringBuffer的區別?

String:字元串常量

StringBuffer:字元創變量

StringBuilder:字元創變量

StringBuilder:線程非安全的

StringBuffer:線程安全的

String:

是對象不是原始類型.

爲不可變對象,一旦被創建,就不能修改它的值.

對於已經存在的String對象的修改都是重新創建一個新的對象,然後把新的值儲存進去. String 是final類,即不能被繼承.

StringBuffer:

是一個可變對象,當對他進行修改的時候不會像String那樣重新建立對象

它只能透過構造函數來建立,

ng 對一串字元進行操作。不可變類。

ngBuffer 也是對一串字元進行操作,但是可變類。

8. 面向對象的三個基本特徵

.

9.一條語句查詢每個部門共有多少人

前提:a 部門表 b 員工表

a表字段(

id --部門編號

departmentName-部門名稱

)

b表字段(

id--部門編號

employee- 員工名稱

)

10. 有3張表,Student表、SC表和Course表

Student表:學號(Sno)、姓名(Sname)、性別(Ssex)、年齡(Sage)和系名(Sdept)

Course表:課程號(Cno)、課程名(Cname)和學分(Ccredit);

SC表:學號(Sno)、課程號(Cno)和成績(Grade)

請使用SQL語句查詢學生姓名及其課程總學分

sum

TAGS:筆試 Java