- 相關(guān)推薦
java的筆試題2
1. 是否可以繼承String類(lèi)?
String類(lèi)是final類(lèi),不可以繼承 final是java中的一個(gè)關(guān)鍵字,可以用來(lái)修飾變量、方法和類(lèi)。用關(guān)鍵詞final修飾的域成為最終域。用關(guān)鍵詞final修飾的變量一旦賦值,就不能改變,也稱(chēng)為修飾的標(biāo)識(shí)為常量。如果一個(gè)類(lèi)的域被關(guān)鍵字final所修飾,它的取值在程序的整個(gè)執(zhí)行過(guò)程中將不會(huì)改變。 2.HashMap和Hashtable的區(qū)別?
1.hashMap去掉了HashTable 的contains方法,但是加上了containsValue()和containsKey()方法。
2.hashTable同步的,而HashMap是非同步的,效率上逼hashTable要高。
這就意味著,雖然你可以不用采取任何特殊的行為就可以在一個(gè)多線程的應(yīng)用程序中用一個(gè)Hashtable,但你必須同樣地為一個(gè)HashMap提供外同步。
3.hashMap允許空鍵值,而hashTable不允許。
3 .abstract class和interface有什么區(qū)別?
class 是普通類(lèi)
abstract 是抽象類(lèi) 包含純虛函數(shù)(C++里)的類(lèi)
interface 是接口 讓普通類(lèi)可以繼承他派生出有一定相同點(diǎn)的不同類(lèi)
1.相同點(diǎn)
A. 兩者都是抽象類(lèi),都不能實(shí)例化。
B. interface實(shí)現(xiàn)類(lèi)及abstrct class的子類(lèi)都必須要實(shí)現(xiàn)已經(jīng)聲明的抽象方法。
2. 不同點(diǎn)
A. interface需要實(shí)現(xiàn),要用implements,而abstract class需要繼承,要用extends。
B. 一個(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)interface,但一個(gè)類(lèi)只能繼承一個(gè)abstract class。
C. interface強(qiáng)調(diào)特定功能的實(shí)現(xiàn),而abstract class強(qiáng)調(diào)所屬關(guān)系。
D. 盡管interface實(shí)現(xiàn)類(lèi)及abstrct class的子類(lèi)都必須要實(shí)現(xiàn)相應(yīng)的抽象方法,但實(shí)現(xiàn)的形式不同。interface中的每一個(gè)方法都是抽象方法,都只是聲明的 (declaration, 沒(méi)有方法體),實(shí)現(xiàn)類(lèi)必須要實(shí)現(xiàn)。而abstract class的子類(lèi)可以有選擇地實(shí)現(xiàn)。
4. swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上? 在switch(expr1)中,expr1只能是一個(gè)整數(shù)表達(dá)式或者枚舉常量(更大字體),整數(shù)表達(dá)式可以是int基本類(lèi)型或Integer包裝類(lèi)型,由于,byte,short,char都可以隱含轉(zhuǎn)換為int,所以,這些類(lèi)型以及這些類(lèi)型的包裝類(lèi)型也是可以的。顯然,long和String類(lèi)型都不符合switch的語(yǔ)法規(guī)定,并且不能被隱式轉(zhuǎn)換成int類(lèi)型,所以,它們不能作用于swtich語(yǔ)句中。
5. 編程題: 寫(xiě)一個(gè)Singleton出來(lái)。
Java:
public class Singleton {
private static Singleton instance = null; public static synchronized Singleton getInstance() {
//這個(gè)方法比上面有所改進(jìn),不用每次都進(jìn)行生成對(duì)象,只是第一次
//使用時(shí)生成實(shí)例,提高了效率!
if (instance==null)
instance=new Singleton();
return instance;
}
} 6. JAVA SERVLET API中forward() 與redirect()的區(qū)別?
forward是服務(wù)器請(qǐng)求資源,服務(wù)器直接訪問(wèn)目標(biāo)地址的URL,
前者僅是容器中控制權(quán)的轉(zhuǎn)向,在客戶端瀏覽器地址欄中不會(huì)顯示出轉(zhuǎn)向后的地址,他是不會(huì)改變Request的值
forward 是轉(zhuǎn)發(fā),redirect是跳轉(zhuǎn)。相同點(diǎn)都是為了兩個(gè)組件之間的相互調(diào)用。forward的運(yùn)行原理是服務(wù)器端內(nèi)部的調(diào)用,所以它不需要通過(guò)瀏覽器來(lái)請(qǐng)求,所url地址不會(huì)改變,request的作用范圍也沒(méi)有中斷過(guò),它的作用域仍然有效。而redirect是重定向,是服務(wù)器發(fā)送消息告訴瀏覽器,讓瀏覽器重新向新的地址請(qǐng)求,所以,url地址是會(huì)改變的,由于重新請(qǐng)求了,因而request也中斷了,重新請(qǐng)求了,它的作用范圍也失效了,放在 request里面的信息也隨之而清空了。
7. String 和StringBuffer的區(qū)別?
String:字符串常量
StringBuffer:字符創(chuàng)變量
StringBuilder:字符創(chuàng)變量
StringBuilder:線程非安全的
StringBuffer:線程安全的
String:
是對(duì)象不是原始類(lèi)型.
為不可變對(duì)象,一旦被創(chuàng)建,就不能修改它的值.
對(duì)于已經(jīng)存在的String對(duì)象的修改都是重新創(chuàng)建一個(gè)新的對(duì)象,然后把新的值保存進(jìn)去. String 是final類(lèi),即不能被繼承.
StringBuffer:
是一個(gè)可變對(duì)象,當(dāng)對(duì)他進(jìn)行修改的時(shí)候不會(huì)像String那樣重新建立對(duì)象
它只能通過(guò)構(gòu)造函數(shù)來(lái)建立,
.String 對(duì)一串字符進(jìn)行操作。不可變類(lèi)。
3.StringBuffer 也是對(duì)一串字符進(jìn)行操作,但是可變類(lèi)。
8. 面向?qū)ο蟮娜齻(gè)基本特征
.
9.一條語(yǔ)句查詢每個(gè)部門(mén)共有多少人
前提:a 部門(mén)表 b 員工表
a表字段(
id --部門(mén)編號(hào)
departmentName-部門(mén)名稱(chēng)
)
b表字段(
id--部門(mén)編號(hào)
employee- 員工名稱(chēng)
)
10. 有3張表,Student表、SC表和Course表
Student表:學(xué)號(hào)(Sno)、姓名(Sname)、性別(Ssex)、年齡(Sage)和系名(Sdept)
Course表:課程號(hào)(Cno)、課程名(Cname)和學(xué)分(Ccredit);
SC表:學(xué)號(hào)(Sno)、課程號(hào)(Cno)和成績(jī)(Grade)
請(qǐng)使用SQL語(yǔ)句查詢學(xué)生姓名及其課程總學(xué)分
sum
【java的筆試題2】相關(guān)文章:
迅雷JAVA廣州站二筆筆試題目分享11-21
java筆試題及答案08-20
JAVA面試筆試題11-15
經(jīng)典java筆試題及答案分享02-25
華為Java筆試題一11-21
java英文面試筆試題11-22
java面試筆試題分享11-18
企業(yè)Java面試筆試題范文09-27
群碩筆試題Java和C++、C#11-21