java的筆試題2

才智咖 人氣:2.95W

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 筆試