




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2020年Java面試寶典2
Java面試寶典
一.Java基礎(chǔ)部分錯(cuò)誤!未定義書簽。
1、一個(gè)Ljava”源文件中是否可以包括
多個(gè)類(不是內(nèi)部類)?有什么限制?
錯(cuò)誤!未定義書簽。
2、Java有沒有改to?錯(cuò)誤!未定義書
簽。
3、說說&和&&的區(qū)別。錯(cuò)誤!未定義
書簽。
4、在JAVA中如何跳出目前的多重嵌
套循環(huán)?錯(cuò)誤!未定義書簽。
5、switch語句能否作用在byte上,能
否作用在Ion!上,能否作用在String
上?錯(cuò)誤!未定義書簽。
6、shortsi=1;si=si+1;有什么錯(cuò)?
shortsi=1;si十=1;有什么錯(cuò)?錯(cuò)誤!未
定義書簽。
7、char型變量中能不能存貯一個(gè)中文
漢字?為什么?...錯(cuò)誤!未定義書簽。
8、用最有效率的方法算出2乘以8等
於幾?錯(cuò)誤!未定義書簽。
9、請?jiān)O(shè)計(jì)一個(gè)一百億的計(jì)算器錯(cuò)誤!
未定義書簽。
10、使用final關(guān)鍵字修飾一個(gè)變量
時(shí),是引用不能變,還是引用的對象
不能變?錯(cuò)誤!未定義書簽。
11、"=="和equals方法究竟有什么區(qū)
別?錯(cuò)誤!未定義書簽。
12、靜態(tài)變量和實(shí)例變量的區(qū)別?錯(cuò)誤!
未定義書簽。
13、是否可以從一個(gè)static方法內(nèi)部發(fā)
出對非static方法的調(diào)用?錯(cuò)誤!未定義
書簽。
14、Integer與int的區(qū)別錯(cuò)誤!未定義
書簽。
15、()等於多少?()等於多少?錯(cuò)誤!未
定義書簽。
16、下面的代碼有什么不妥之處?錯(cuò)誤!
未定義書簽。
17、請說出作用域public,private,
protected,以及不寫時(shí)的區(qū)別錯(cuò)誤!未
定義書簽。
18、Overload和Override的區(qū)另限
Overloaded的方法是否可以改變返回
值的類型?錯(cuò)誤!未定義書簽。
19、構(gòu)造器Constructor是否可被
override?錯(cuò)誤!未定義書簽。
20、接口是否可繼承接口?抽象類是
否可實(shí)現(xiàn)(implements)接口?抽象類是
否可繼承具體類(concreteclass)?抽象
類中是否可以有靜態(tài)的main方法?.錯(cuò)
誤!未定義書簽。
21、寫clone。方法時(shí),通常都有一行
代碼,是什么?……錯(cuò)誤!未定義書簽。
22、面向?qū)ο蟮奶卣饔心男┓矫驽e(cuò)誤!
未定義書簽。
23、java中實(shí)現(xiàn)多態(tài)的機(jī)制是什么?錯(cuò)
誤!未定義書簽。
24、abstractclass和interface有什么
區(qū)別2錯(cuò)誤!未定義書簽。
25、abstract的method是否可同時(shí)是
static,是否可同時(shí)是native,是否可同
時(shí)是synchronized?錯(cuò)誤!未定義書簽。
26、什么是內(nèi)部類?StaticNestedClass
和InnerClass的不同。錯(cuò)誤!未定義
書簽。
27、內(nèi)部類可以引用它的包含類的成
員嗎?有沒有什么限制?錯(cuò)誤!未定義書
簽。
28、AnonymousInnerClass(匿名內(nèi)
部類)是否可以extends(繼承)其它
類,是否可以implements(實(shí)
現(xiàn))interface(接口)?錯(cuò)誤!未定義書簽。
29、()方法調(diào)用…錯(cuò)誤!未定義書簽。
30、String是最基本的數(shù)據(jù)類型嗎?錯(cuò)
誤!未定義書簽。
31、
Strings=''HeHoLs二s+''world!”;這
兩行代碼執(zhí)行后,原始的String對象
中的內(nèi)容到底變了沒有?錯(cuò)誤!未定義
書簽。
32、是否可以繼承String類?錯(cuò)誤!未
定義書簽。
33、Strings二newStrind'xyz'');倉建
了幾個(gè)StringObject?二者之間有什
么區(qū)別?錯(cuò)誤!未定義書簽。
34、String和StringBuffer的區(qū)另!]??錯(cuò)
誤!未定義書簽。
35、如何把一段逗號分割的字符串轉(zhuǎn)
換成一個(gè)數(shù)組?……錯(cuò)誤!未定義書簽。
36、數(shù)組有沒有l(wèi)ength。這個(gè)方法?
String有沒有l(wèi)ength。這個(gè)方法?錯(cuò)誤!
未定義書簽。
37、下面這條語句一共創(chuàng)建了多少個(gè)
對象:String§=""+""'+"d'+“(1”;錯(cuò)誤!
未定義書簽。
38、try1}里有一個(gè)return語句,那么
緊跟在這個(gè)try后的finally{}里的code
會不會被執(zhí)行,什么時(shí)候被執(zhí)行,在
return前還是后???錯(cuò)誤!未定義書簽。
39、下面的程序代碼輸出的結(jié)果是多
少?錯(cuò)誤!未定義書簽。
40、final,finally,finalize的區(qū)另1]。??錯(cuò)
誤!未定義書簽。
41、運(yùn)行時(shí)異常與一般異常有何異同?
錯(cuò)誤!未定義書簽。
42、error和exception有什么區(qū)別?錯(cuò)
誤!未定義書簽。
43、Java中的異常處理機(jī)制的簡單原
理和應(yīng)用。錯(cuò)誤!未定義書簽。
44、請寫出你最常見到的5個(gè)runtime
exception。錯(cuò)誤!未定義書簽。
45、JAVA語言如何進(jìn)行異常處理,關(guān)
鍵字:throws,throw,try,catch,finally分
別代表什么意義?在try塊中可以拋出
異常嗎?錯(cuò)誤!未定義書簽。
46、java中有幾種方法可以實(shí)現(xiàn)一個(gè)
線程?用什么關(guān)鍵字修飾同步方法?
stop。和suspend。方法為何不推薦使用?
錯(cuò)誤!未定義書簽。
47、sleep。和wait。有什么區(qū)別??錯(cuò)
誤!未定義書簽。
48、同步和異步有何異同,在什么情
況下分別使用他們?舉例說明。錯(cuò)誤!
未定義書簽。
49.下面兩個(gè)方法同步嗎?(自己發(fā)明)
錯(cuò)誤!未定義書簽。
50、多線程有幾種實(shí)現(xiàn)方法?同步有幾
種實(shí)現(xiàn)方法?錯(cuò)誤!未定義書簽。
51、啟動(dòng)一個(gè)線程是用nmO還是
start。?錯(cuò)誤!未定義書簽。
52、當(dāng)一個(gè)線程進(jìn)入一個(gè)對象的一個(gè)
synchronized方法后,其它線程是否
可進(jìn)入此對象的其它方法?錯(cuò)誤!未定
義書簽。
53、線程的基本概念、線程的基本狀
態(tài)以及狀態(tài)之間的關(guān)系錯(cuò)誤!未定義書
簽。
54、?錯(cuò)誤!未定義書簽。
55、設(shè)計(jì)4個(gè)線程,其中兩個(gè)線程每
次對j增加1,另外兩個(gè)線程對j每次
減少1。寫出程序。錯(cuò)誤!未定義書簽。
56、子線程循環(huán)10次,接著主線程循
環(huán)100,接著又回到子線程循環(huán)10
次,接著再回到主線程又循環(huán)100,如
此循環(huán)50次,請寫出程序。錯(cuò)誤!未
定義書簽。
57、介紹CoHection框架的結(jié)構(gòu)錯(cuò)誤!
未定義書簽。
58、Collection框架中實(shí)現(xiàn)比較要實(shí)現(xiàn)
什么接口錯(cuò)誤!未定義書簽。
59、ArrayList和Vector的區(qū)別錯(cuò)誤!
未定義書簽。
60、HashMap和Hashtable的區(qū)別.錯(cuò)
誤!未定義書簽。
61、List和Map區(qū)另U?錯(cuò)誤!未定義
書簽。
62、List,Set,Map是否繼承自
Collection^□?錯(cuò)誤!未定義書簽。
63、List、Map、Set三個(gè)接口,存取
元素時(shí),各有什么特點(diǎn)?錯(cuò)誤!未定義
書簽。
64、說出ArrayList,Vector,LinkedList
的存儲性能和特性錯(cuò)誤!未定義書簽。
65、去掉一個(gè)Vector集合中重復(fù)的元
素錯(cuò)誤!未定義書簽。
66>CollectionCollections|X
別。錯(cuò)誤!未定義書簽。
67、Set里的元素是不能重復(fù)的,那么
用什么方法來區(qū)分重復(fù)與否呢?是用
==還是equals。?它們有何區(qū)別?錯(cuò)誤!
未定義書簽。
68、你所知道的集合類都有哪些?主要
方法?錯(cuò)誤!未定義書簽。
69、兩個(gè)對象值相同((y)==true),但
卻可有不同的hashcode,這句話對不
對?錯(cuò)誤!未定義書簽。
70、TreeSet里面放對象,如果同時(shí)放
入了父類和子類的實(shí)例對象,那比較
時(shí)使用的是父類的compareTo方法,
還是使用的子類的compareTo方法,
還是拋異常!.???????錯(cuò)誤!未定義書簽。
71、說出一些常用的類,包,接口,
請各舉5個(gè)錯(cuò)誤!未定義書簽。
72、java中有幾種類型的流?JDK為每
種類型的流提供了一些抽象類以供繼
承,請說出他們分別是哪些類?錯(cuò)誤!
未定義書簽。
73、字節(jié)流與字符流的區(qū)別錯(cuò)誤!未定
義書簽。
74、什么是java序列化,如何實(shí)現(xiàn)
java序列化?或者請解釋Serializable
接口的作用?!?.…錯(cuò)誤!未定義書簽。
75、描述一下JVM加載class文件的原
理機(jī)制?錯(cuò)誤!未定義書簽。
76、heap和stack有什么區(qū)別。錯(cuò)誤!
未定義書簽。
77、GC是什么?為什么要有GC???錯(cuò)
誤!未定義書簽。
78、垃圾回收的優(yōu)點(diǎn)和原理。并考慮2
種回收機(jī)制。.???????錯(cuò)誤!未定義書簽。
79、垃圾回收器的基本原理是什么?垃
圾回收器可以馬上回收內(nèi)存嗎?有什么
辦法主動(dòng)通知虛擬機(jī)進(jìn)行垃圾回收?錯(cuò)
誤!未定義書簽。
80、什么時(shí)候用assert。錯(cuò)誤!未定義
書簽。
81、java中會存在內(nèi)存泄漏嗎,請簡
單描述。錯(cuò)誤!未定義書簽。
82、能不能自己寫個(gè)類,?錯(cuò)誤!未定
義書簽。
83.Java代碼查錯(cuò)錯(cuò)誤!未定義書簽。
二.算法與編程錯(cuò)誤!未定義書簽。
1、編寫一個(gè)程序,,,。錯(cuò)誤!未定
義書簽。
2、編寫一個(gè)程序,將d:\:\jad目錄
下,。錯(cuò)誤!未定義書簽。
3、編寫一個(gè)截取字符串的函數(shù),輸入
為一個(gè)字符串和字節(jié)數(shù),輸出為按字
節(jié)截取的字符串,但要保證漢字不被
截取半個(gè),如“我ABC”,4,應(yīng)該
截取“我AB”,輸入“我ABC漢
DEF",6,應(yīng)該輸出“我ABC”,
而不是“我ABC+漢的半個(gè)"。錯(cuò)誤!
未定義書簽。
4、有一個(gè)字符串,其中包含中文字
符、英文字符和數(shù)字字符,請統(tǒng)計(jì)和
打印出各個(gè)字符的個(gè)數(shù)。錯(cuò)誤!未定義
書簽。
5、說明生活中遇到的二叉樹,用java
實(shí)現(xiàn)二叉樹錯(cuò)誤!未定義書簽。
6、從類似如下的文本文件中讀取出所
有的姓名,并打印出重復(fù)的姓名和重
復(fù)的次數(shù),并按重復(fù)次數(shù)排序:錯(cuò)誤!未
定義書簽。
7、寫一個(gè)Sinqletoii出來。錯(cuò)誤!未定
義書簽。
8、遞歸算法題1.??錯(cuò)誤!未定義書簽。
9、遞歸算法題2…錯(cuò)誤!未定義書簽。
10、排序都有哪幾種方法?請列舉。用
JAVA實(shí)現(xiàn)一個(gè)快速排序。錯(cuò)誤!未定
義書簽。
11、有數(shù)組ami,用java代碼將數(shù)組
元素順序顛倒…..…錯(cuò)誤!未定義書簽。
12.金額轉(zhuǎn)換,阿拉伯?dāng)?shù)字的金額轉(zhuǎn)
換成中國傳統(tǒng)的形式如:(¥1011)—〉
(一千零一拾一元整)輸出。錯(cuò)誤!未
定義書簽。
三.html&JavaScript&ajax部分錯(cuò)誤!未定
義書簽。
L判斷第二個(gè)日期比第一個(gè)日期大.錯(cuò)
誤!未定義書簽。
2,用table顯示n條記錄,每3行換一
次顏色,即1,2,3用紅色字體,4,
5,6用綠色字體,7,8,9用紅顏色
字體。錯(cuò)誤!未定義書簽。
3、HTML的form提交之前如何驗(yàn)
證數(shù)值文本框的內(nèi)容全部為數(shù)字?否
則的話提示用戶并終止提交提昔誤!未
定義書簽。
4、請寫出用于校驗(yàn)HTML文本框中
輸入的內(nèi)容全部為數(shù)字的javascript代
碼錯(cuò)誤!未定義書簽。
5、說說你用過那些那ax技術(shù)和框架,
說說它們的區(qū)別?…錯(cuò)誤!未定義書簽。
四.Javaweb部分錯(cuò)誤!未定義書簽。
1、Tomcat的優(yōu)化經(jīng)驗(yàn)錯(cuò)誤!未定義書
簽。
2、HTTP請求的GET與POST方式的
區(qū)別錯(cuò)誤!未定義書簽。
3、解釋一下什么是servlet;錯(cuò)誤!未定
義書簽。
4、說一說Servlet的生命周期?錯(cuò)誤!
未定義書簽。
5、Servlet的基本架構(gòu)錯(cuò)誤!未定義書
簽。
6、SERVLETAPI中forward。與
redirect。的區(qū)別???錯(cuò)誤!未定義書簽。
7、什么情況下調(diào)用doGetO和doPost。?
錯(cuò)誤!未定義書簽。
8、Request對象的主要方法:錯(cuò)誤!未
定義書簽。
9、forward和redirect的區(qū)別錯(cuò)誤!未
定義書簽。
10、()和()有何區(qū)別?錯(cuò)誤!未定義書
簽。
ILjsp有哪些內(nèi)置對象?作用分別是什
么?分別有什么方法?錯(cuò)誤!未定義書
簽。
12.jsp有哪些動(dòng)作?作用分別是什么?
錯(cuò)誤!未定義書簽。
13、JSP的常用指令錯(cuò)誤!未定義書
簽。
14.JSP中動(dòng)態(tài)INCLUDE與靜畫態(tài)
INCLUDE的區(qū)別?錯(cuò)誤!未定義書簽。
15、兩種跳轉(zhuǎn)方式分別是什么?有什么
區(qū)別?錯(cuò)誤!未定義書簽。
16、頁面間對象傳遞的方法錯(cuò)誤!未定
義書簽。
17、JSP和Servlet有哪些相同點(diǎn)和不
同點(diǎn),他們之間的聯(lián)系是什么?錯(cuò)誤!
未定義書簽。
18、MVC的各個(gè)部分都有那些技術(shù)來
實(shí)現(xiàn)?如何實(shí)現(xiàn)?.…錯(cuò)誤!未定義書簽。
19、我們在web應(yīng)用開發(fā)過程中經(jīng)常
遇至iH出某種編碼的字符,如
iso8859?l等,如何輸出一個(gè)某種編碼
的字符串?錯(cuò)誤!未定義書簽。
20.現(xiàn)在輸入n個(gè)數(shù)字,以逗號,分
開;然后可選擇升或者降序排序;按
提交鍵就在另一頁面顯示按什么排
序,結(jié)果為,提供reset錯(cuò)誤!未定義書
簽。
五.數(shù)據(jù)庫部分錯(cuò)誤!未定義書簽。
1、用兩種方式根據(jù)部門號從高到低,
工資從低到高列出每個(gè)員工的信息。
錯(cuò)誤!未定義書簽。
2、列出各個(gè)部門中工資高于本部門的
平均工資的員工數(shù)和部門號,并按部
門號排序錯(cuò)誤!未定義書簽。
3、存儲過程與觸發(fā)器必須講,經(jīng)常被
面試到?錯(cuò)誤!未定義書簽。
4、數(shù)據(jù)庫三范式是什么?錯(cuò)誤!未定義
書簽。
5、說出一些數(shù)據(jù)庫優(yōu)化方面的經(jīng)驗(yàn)?
錯(cuò)誤!未定義書簽。
6、union和unionall有什么不同???錯(cuò)
誤!未定義書簽。
錯(cuò)誤!未定義書簽。
查詢出每門課都大于80分的學(xué)生姓
名錯(cuò)誤!未定義書簽。
錯(cuò)誤!未定義書簽。
錯(cuò)誤!未定義書簽。
錯(cuò)誤!未定義書簽。
,發(fā)帖人、最后回復(fù)時(shí)間錯(cuò)誤!未定義
書簽。
,其它都相同的學(xué)生冗余信息錯(cuò)誤!未定
義書簽。
:錯(cuò)誤!未定義書簽。
:錯(cuò)誤!未定義書簽。
16、求出小于45歲的各個(gè)老師所帶的
大于12歲的學(xué)生人數(shù)錯(cuò)誤!未定義書
簽。
錯(cuò)誤!未定義書簽。
18、一個(gè)用戶表中有一個(gè)積分字段,
假如數(shù)據(jù)庫中有100多萬個(gè)用戶,若
要在每年第一天凌晨將積分清零,你
將考慮什么,你將想什么辦法解決?錯(cuò)
誤!未定義書簽。
19、一個(gè)用戶具有多個(gè)角色,請查詢
出該表中具有該用戶的所有角色的其
它用戶。錯(cuò)誤!未定義書簽。
20.xxx公司的sql面試錯(cuò)誤!未定義書
簽。
21、注冊Jdbc驅(qū)動(dòng)程序的三種方式錯(cuò)
誤!未定義書簽。
22、用JDBC如何調(diào)用存儲過程錯(cuò)誤!
未定義書簽。
23、JDBC中的PreparedStatement相
比Statement的好處錯(cuò)誤!未定義書簽。
24.寫一個(gè)用jdbc連接并訪問oracle
數(shù)據(jù)的程序代碼….錯(cuò)誤!未定義書簽。
25、?為什么要用?錯(cuò)誤!未定義書簽。
26、大數(shù)據(jù)量下的分頁解決方法。..錯(cuò)
誤!未定義書簽。
27、用JDBC查詢學(xué)生成績單,把主
要代碼寫出來(考試概率極大).錯(cuò)誤!
未定義書簽。
28、這段代碼有什么不足之處?錯(cuò)誤!
未定義書簽。
29、說出數(shù)據(jù)連接池的工作機(jī)制是什
么?錯(cuò)誤!未定義書簽。
30、為什么要用ORM?和JDBC
有何不一樣?錯(cuò)誤!未定義書簽。
六.XML部分錯(cuò)誤!未定義書簽。
1、xml有哪些解析技術(shù)?區(qū)別是什么?
錯(cuò)誤!未定義書簽。
2、你在項(xiàng)目中用到了xml技術(shù)的哪些
方面方口何實(shí)現(xiàn)的?錯(cuò)誤!未定義書簽。
3、用jdom解析xml文件時(shí)如何解決
中文問題?如何解析?錯(cuò)誤!未定義書
簽。
4、編程用JAVA解析XML的方式.錯(cuò)
誤!未定義書簽。
5、XML文檔定義有幾種形式?它們之
間有何本質(zhì)區(qū)別?解析XML文檔有哪
幾種方式?錯(cuò)誤!未定義書簽。
七.流行的框架與新技術(shù)錯(cuò)誤!未定義書簽。
1、談?wù)勀銓truts的理解。錯(cuò)誤!未
定義書簽。
2、談?wù)勀銓ibernate的理解。錯(cuò)誤!
未定義書簽。
3、AOP的作用。.錯(cuò)誤!未定義書簽。
4、你對Spring的理解。錯(cuò)誤!未定義
書簽。
5、談?wù)凷truts中的Actionservleto
錯(cuò)誤!未定義書簽。
6、Struts優(yōu)缺點(diǎn)優(yōu)點(diǎn):1.實(shí)現(xiàn)
MVC模式,結(jié)構(gòu)清晰,使開發(fā)者只關(guān)
注業(yè)務(wù)邏輯的實(shí)現(xiàn).錯(cuò)誤!未定義書簽。
7、STRUTS的應(yīng)用(如STRUTS架構(gòu))
錯(cuò)誤!未定義書簽。
8、說說stmtsl與struts2的區(qū)另U。錯(cuò)
誤!未定義書簽。
9、hibernate中的update。和
saveOrUpdate。的區(qū)另U,session的
load。和iet()的區(qū)別。錯(cuò)誤!未定義書
簽。
10、簡述Hibernate和JDBC的優(yōu)
缺點(diǎn)?如何書寫一個(gè)onetomany配
置文件.錯(cuò)誤!未定義書簽。
11、iBatis與Hibernate有什么不同?
錯(cuò)誤!未定義書簽。
12、寫Hibernate的一對多和多對一雙
向關(guān)聯(lián)的0rm配置?錯(cuò)誤!未定義書簽。
9、hibernate的inverse性的作用?
錯(cuò)誤!未定義書簽。
13、在DAO中如何體現(xiàn)DAO設(shè)計(jì)模
式?錯(cuò)誤!未定義書簽。
14、spring+Hibernate中委托方案怎
么配置?錯(cuò)誤!未定義書簽。
15、sprinq+Hibernate中委托方案怎
么配置?錯(cuò)誤!未定義書簽。
16.hibernate進(jìn)行多表查詢每個(gè)表中
各取幾個(gè)字段,也就是說查詢出來的
結(jié)果集沒有一個(gè)實(shí)體類與之對應(yīng)如何
解決;錯(cuò)誤!未定義書簽。
錯(cuò)誤!未定義書簽。
18、Spring的依賴注入是什么意思?
給一個(gè)Bean的message喔性,字符
串類型,注入值為”Heno”的XML
配置文件該怎么寫?錯(cuò)誤!未定義書簽。
19、Jdo是什么?…錯(cuò)誤!未定義書簽。
20、什么是spring的IOCAOP錯(cuò)誤!
未定義書簽。
21、STRUTS的工作流程!錯(cuò)誤!未定
義書簽。
22、spring與EJB的區(qū)別??!錯(cuò)誤!
未定義書簽。
八.軟件工程與設(shè)計(jì)模式錯(cuò)誤!未定義書簽。
1、UML方面錯(cuò)誤!未定義書簽。
2、j2ee常用的設(shè)計(jì)模式?說明工廠模
式。錯(cuò)誤!未定義書簽。
3、開發(fā)中都用到了那些設(shè)計(jì)模式?用
在什么場合?錯(cuò)誤!未定義書簽。
九.j2ee部分錯(cuò)誤!未定義書簽。
1、BS與CS的聯(lián)系與區(qū)別。錯(cuò)誤!未
定義書簽。
2、應(yīng)用服務(wù)器與WEBSERVER的區(qū)
別?錯(cuò)誤!未定義書簽。
3、應(yīng)用服務(wù)器有那些?錯(cuò)誤!未定義書
簽。
4、J2EE是什么???錯(cuò)誤!未定義書簽。
5、J2EE是技術(shù)還是平臺還是框架?
什么是J2EE錯(cuò)誤!未定義書簽。
6、請對以下在J2EE中常用的名詞進(jìn)
行解釋(或簡單描述)錯(cuò)誤!未定義書簽。
7、如何給weblo或c指定大小的內(nèi)存?
錯(cuò)誤!未定義書簽。
8、如何設(shè)定的weblogic的熱啟動(dòng)模式
(開發(fā)模式)與產(chǎn)品發(fā)布模式?錯(cuò)誤!未定
義書簽。
9、如何啟動(dòng)時(shí)不需輸入用戶名與密碼?
錯(cuò)誤!未定義書簽。
10、在weblogic管理制臺中對一個(gè)應(yīng)
用域(或者說是一個(gè)網(wǎng)站,Domain)進(jìn)行
jms及ejb或連接池等相關(guān)信息進(jìn)行配
置后,實(shí)際保存在什么文件中?錯(cuò)誤!未
定義書簽。
11、說說weblo^ic中一個(gè)Domain的缺
省目錄結(jié)構(gòu)?,然的在瀏覽器上就可打
入http:〃主機(jī):端口號〃?又比如這其中
用到了一個(gè)自己寫的javaBean該如何
辦?錯(cuò)誤!未定義書簽。
12、在weblogic中發(fā)布ejb需涉及到哪
些配置文件錯(cuò)誤!未定義書簽。
13、如何在weblogic中進(jìn)行ssl配置與
客戶端的認(rèn)證配置或說說j2ee(標(biāo)準(zhǔn))進(jìn)
行ssl的配置?….?…錯(cuò)誤!未定義書簽。
14、如何查看在weblogic中已經(jīng)發(fā)布
的EJB?錯(cuò)誤!未定義書簽。
十.EBJ部分錯(cuò)誤!未定義書簽。
1、EJB是基于哪些技術(shù)實(shí)現(xiàn)的?并說
出SessionBean和EntityBean的區(qū)別,
StatefulBean和StatelessBean的區(qū)另U。
錯(cuò)誤!未定義書簽。
2、簡要講一下EJB的7個(gè)
TransactionLevel?錯(cuò)誤!未定義書簽。
3、EJB與JAVABEAN的區(qū)別?錯(cuò)誤!
未定義書簽。
4、EJB包括
(SessionBeanJEntityBean)說出他們
的生命周期,及如何管理事務(wù)的?錯(cuò)誤!
未定義書簽。
5、EJB容器提供的服務(wù)錯(cuò)誤!未定義
書簽。
6、EJB的激活機(jī)制錯(cuò)誤!未定義書簽。
7、EJB的幾種類型錯(cuò)誤!未定義書簽。
8、客服端調(diào)用EJB對象的幾個(gè)基本步
驟錯(cuò)誤!未定義書簽。
.webservice部分..錯(cuò)誤!未定義書簽。
1、WEBSERVICE名詞解釋。
JSWDL開發(fā)包的介紹。JAXP、
JAXM的解釋。SOAP、UDDLWSDL
解釋。錯(cuò)誤!未定義書簽。
2、CORBA是什么?用途是什么?錯(cuò)誤!
未定義書簽。
3.Linux錯(cuò)誤!未定義書簽。
4、LINUX下線程,GDI類的解釋。
錯(cuò)誤!未定義書簽。
5.問得稀里糊涂的題…錯(cuò)誤!未定義書簽。
6、四種會話跟蹤技術(shù)錯(cuò)誤!未定義書
簽。
7、簡述邏輯操作(&,|,八)與條件操作
(&&,11)的區(qū)別。.…錯(cuò)誤!未定義書簽。
十二.其它錯(cuò)誤!未定義書簽。
1、請用英文簡單介紹一下自己.錯(cuò)誤!
未定義書簽。
2、請把首頁的這一段話用中文翻譯
一下?錯(cuò)誤!未定義書簽。
3、美資軟件公司JAVA工程師電話面
試題目錯(cuò)誤!未定義書簽。
這套面試題主要目的是幫助那些還沒有java軟件開發(fā)實(shí)際工作經(jīng)驗(yàn),而正在努力尋找java軟件開發(fā)
工作的朋友在筆試時(shí)更好地贏得筆試和面試。由于這套面試題涉及的范圍很泛,很廣,很雜,大家不可能
一天兩天就看完和學(xué)完這套面試寶典,即使你已經(jīng)學(xué)過了有關(guān)的技術(shù),那么至少也需要一個(gè)月的時(shí)間才能
消化和掌握這套面試寶典,所以,大家應(yīng)該早作準(zhǔn)備,從拿到這套面試寶典之日起,就要堅(jiān)持在每天閑暇
之余學(xué)習(xí)其中幾道題目,日積月累,等到出去面試時(shí),一切都水到渠成,面試時(shí)就自然會游刃有余了。
答題時(shí),先答是什么,再答有什么作用和要注意什么(這部分最重要,展現(xiàn)自己的心得)
答案的段落分別,層次分明,條理清晰都非常重要,從這些表面的東西也可以看出一個(gè)人的習(xí)慣、辦
事風(fēng)格、條理等。
要講你做出答案的思路過程,或者說你記住答案的思想都寫下來。把答題想著是辯論賽。答題就是給
別人講道理、擺事實(shí)。答題不局限于什么格式和形式,就是要將自己的學(xué)識展現(xiàn)出來!
別因?yàn)槿思翌}目本來就模棱兩可,你就心里膽怯和沒底氣了,不敢回答了。你要大膽地指出對方題目
很模糊和你的觀點(diǎn),不要把面試官想得有多高,其實(shí)他和你就是差不多的,你想想,如果他把你招進(jìn)去了,
你們以后就是同事了,可不是差不多的嗎?
關(guān)于就業(yè)薪水,如果你是應(yīng)屆生,那不能要高工資,好比大餅的故事,沒有文憑還想拿高工資,就去
中關(guān)村缺什么補(bǔ)什么吧!少數(shù)人基礎(chǔ)確實(shí)很好,在校期間確實(shí)又做過一些項(xiàng)目,那仍然是可以要到相對高
的工資的。
1.Java基礎(chǔ)部分
基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語
法,集合的語法,io的語法,虛擬機(jī)方面的語法。
1、一個(gè)”.java”源文件中是否可以包括多個(gè)類(不是內(nèi)部類)?
有什么限制?
可以有多個(gè)類,但只能有一個(gè)public的類,并且public的類名必須與文件名相一致。
2、Java有沒有g(shù)oto?
java中的保留字,現(xiàn)在沒有在java中使用。
3、說說&和&&的區(qū)別。
&和&&都可以用作邏輯與的運(yùn)算符,表示邏輯與(and),當(dāng)運(yùn)算符兩邊的表達(dá)式的結(jié)果都為true時(shí),
整個(gè)運(yùn)算結(jié)果才為true,否則,只要有一方為false,則結(jié)果為false。
&&還具有短路的功能,即如果第一個(gè)表達(dá)式為false,則不再計(jì)算第二個(gè)表達(dá)式,例如,對于if(str!=
null&&!(""))表達(dá)式,當(dāng)str為null時(shí),后面的表達(dá)式不會執(zhí)行,所以不會出現(xiàn)NullPointerException如
果將&&改為&,貝!I會拋出NullPointerException異常。If(x==33&++y>0)y會增長,If(x==33&&++y>0)
不會增長
&還可以用作位運(yùn)算符,當(dāng)&操作符兩邊的表達(dá)式不是boolean類型時(shí),&表示按位與操作,我們通常
使用Ox()f來與一個(gè)整數(shù)進(jìn)行&運(yùn)算,來獲取該整數(shù)的最低4個(gè)bit位,例如,0x31&0x()f的結(jié)果為0x01。
備注:這道題先說兩者的共同點(diǎn),再說出&&和&的特殊之處,并列舉一些經(jīng)典的例子來表明自己理解
透徹深入、實(shí)際經(jīng)驗(yàn)豐富。
4、在JAVA中如何跳出目前的多重嵌套循環(huán)?
在Java中,要想跳出多重循環(huán),可以在外面的循環(huán)語句前定義一個(gè)標(biāo)號,然后在里層循環(huán)體的代碼
中使用帶有標(biāo)號的break語句,即可跳出外層循環(huán)。例如,
ok:
for(inti=0;i<10;i++){
for(intj=0;j<10;j++){
(“i=”+i+“j=”+j);
if(j==5)breakok;
)
}
另外,我個(gè)人通常并不使用標(biāo)號這種方式,而是讓外層的循環(huán)條件表達(dá)式的結(jié)果可以受到里層循環(huán)體
代碼的控制,例如,要在二維數(shù)組中查找到某個(gè)數(shù)字。
intarr[][]={{l,2,3},{4,5,6,7},{9});
booleanfound=false;
for(inti=0;i<&&!found;i++){
for(intj=O;j<arr[i].length;j++){
(“i="+i+“4="+j);
if(arr[i][j]==5){
found=true;
break;
)
)
)
5、switch語句能否作用在byte上,能否作用在long上,能
否作用在String±?
在switch(exprl)中,exprl只能是一個(gè)整數(shù)表達(dá)式或者枚舉常量(更大字體),整數(shù)表達(dá)式可以是
int基本類型或Integer包裝類型,由于,byte,short,char都可以隱含轉(zhuǎn)換為int,所以,這些類型以及這些
類型的包裝類型也是可以的。顯然,long和String類型都不符合switch的語法規(guī)定,并且不能被隱式轉(zhuǎn)換
成int類型,所以,它們不能作用于swtich語句中。
6、shortsi=1;si=si+1;有什么錯(cuò)?shortsi=1;si+=1;
有什么錯(cuò)?
對于shortsi=1;si=si+1;由于sl+1運(yùn)算時(shí)會自動(dòng)提升表達(dá)式的類型,所以結(jié)果是int型,再賦值
給short類型S1時(shí),編譯器將報(bào)告需要強(qiáng)制轉(zhuǎn)換類型的錯(cuò)誤。
對于shortsl=l;sl+=l;由于+=是java語言規(guī)定的運(yùn)算符,java編譯器會對它進(jìn)行特殊處理,因
此可以正確編譯。
7、char型變量中能不能存貯一個(gè)中文漢字?為什么?
char型變量是用來存儲Unicode編碼的字符的,unicode編碼字符集中包含了漢字,所以,char型變
量中當(dāng)然可以存儲漢字啦。不過,如果某個(gè)特殊的漢字沒有被包含在unicode編碼字符集中,那么,這個(gè)
char型變量中就不能存儲這個(gè)特殊漢字。補(bǔ)充說明:unicode編碼占用兩個(gè)字節(jié),所以,char類型的變量也
是占用兩個(gè)字節(jié)。
備注:后面一部分回答雖然不是在正面回答題目,但是,為了展現(xiàn)自己的學(xué)識和表現(xiàn)自己對問題理解的
透徹深入,可以回答一些相關(guān)的知識,做到知無不言,言無不盡。
8、用最有效率的方法算出2乘以8等於幾?
2?3,
因?yàn)閷⒁粋€(gè)數(shù)左移n位,就相當(dāng)于乘以了2的n次方,那么,一個(gè)數(shù)乘以8只要將其左移3位即可,
而位運(yùn)算cpu直接支持的,效率最高,所以,2乘以8等於幾的最效率的方法是2<<3。
9、請?jiān)O(shè)計(jì)一個(gè)一百億的計(jì)算器
首先要明白這道題目的考查點(diǎn)是什么,一是大家首先要對計(jì)算機(jī)原理的底層細(xì)節(jié)要清楚、要知道加減
法的位運(yùn)算原理和知道計(jì)算機(jī)中的算術(shù)運(yùn)算會發(fā)生越界的情況,二是要具備一定的面向?qū)ο蟮脑O(shè)計(jì)思想。
首先,計(jì)算機(jī)中用固定數(shù)量的幾個(gè)字節(jié)來存儲的數(shù)值,所以計(jì)算機(jī)中可以表示的數(shù)值是有一定的范圍
的,為了便于講解和理解,我們先以byte類型的整數(shù)為例,它用1個(gè)字節(jié)進(jìn)行存儲,表示的最大數(shù)值范
圍為-128到+127。-1在內(nèi)存中對應(yīng)的二進(jìn)制數(shù)據(jù)為11111111,如果兩個(gè)-1相加,不考慮Java運(yùn)算時(shí)的類
型提升,運(yùn)算后會產(chǎn)生進(jìn)位,二進(jìn)制結(jié)果為1,11111110,由于進(jìn)位后超過了byte類型的存儲空間,所以進(jìn)
位部分被舍棄,即最終的結(jié)果為1H11110,也就是-2,這正好利用溢位的方式實(shí)現(xiàn)了負(fù)數(shù)的運(yùn)算。-128在
內(nèi)存中對應(yīng)的二進(jìn)制數(shù)據(jù)為10000000,如果兩個(gè)-128相加,不考慮Java運(yùn)算時(shí)的類型提升,運(yùn)算后會產(chǎn)
生進(jìn)位,二進(jìn)制結(jié)果為1,00000000,由于進(jìn)位后超過了byte類型的存儲空間,所以進(jìn)位部分被舍棄,即最
終的結(jié)果為00000000,也就是0,這樣的結(jié)果顯然不是我們期望的,這說明計(jì)算機(jī)中的算術(shù)運(yùn)算是會發(fā)生
越界情況的,兩個(gè)數(shù)值的運(yùn)算結(jié)果不能超過計(jì)算機(jī)中的該類型的數(shù)值范圍.由于Java中涉及表達(dá)式運(yùn)算
時(shí)的類型自動(dòng)提升,我們無法用byte類型來做演示這種問題和現(xiàn)象的實(shí)驗(yàn),大家可以用下面一個(gè)使用整數(shù)
做實(shí)驗(yàn)的例子程序體驗(yàn)一下:
inta=;
intb=;
intsum=a+I);
(wa=,,+a+,,,b=,,+b+,,,sum=,,+sum);
先不考慮long類型,由于int的正數(shù)范圍為2的31次方,表示的最大數(shù)值約等于2*1000*1000*1000,
也就是20億的大小,所以,要實(shí)現(xiàn)一個(gè)一百億的計(jì)算器,我們得自己設(shè)計(jì)一個(gè)類可以用于表示很大的整
數(shù),并且提供了與另外一個(gè)整數(shù)進(jìn)行加減乘除的功能,大概功能如下:
()這個(gè)類內(nèi)部有兩個(gè)成員變量,一個(gè)表示符號,另一個(gè)用字節(jié)數(shù)組表示數(shù)值的二進(jìn)制數(shù)
()有一個(gè)構(gòu)造方法,把一個(gè)包含有多位數(shù)值的字符串轉(zhuǎn)換到內(nèi)部的符號和字節(jié)數(shù)組中
()提供加減乘除的功能
publicclassBiglnteger{
intsign;
byte[]val;
publicBiginteger(Stringval){
sign=;
val=;
publicBigintegeradd(Bigintegerother)
publicBigintegersubtract(BigIntegerother)
publicBigintegermultiply(BigIntegerother){
publicBigintegerdivide(BigIntegerother){
)
備注:要想寫出這個(gè)類的完整代碼,是非常復(fù)雜的,如果有興趣的話,。面試的人也知道誰都不可能在
短時(shí)間內(nèi)寫出這個(gè)類的完整代碼的,他要的是你是否有這方面的概念和意識,他最重要的還是考查你的能
力,所以,你不要因?yàn)樽约簾o法寫出完整的最終結(jié)果就放棄答這道題,你要做的就是你比別人寫得多,證
明你比別人強(qiáng),你有這方面的思想意識就可以了,畢竟別人可能連題目的意思都看不懂,什么都沒寫,你
要敢于答這道題,即使只答了一部分,那也與那些什么都不懂的人區(qū)別出來,拉開了距離,算是矮子中的
高個(gè),機(jī)會當(dāng)然就屬于你了。另外,答案中的框架代碼也很重要,體現(xiàn)了一些面向?qū)ο笤O(shè)計(jì)的功底,尤其
是其中的方法命名很專業(yè),用的英文單詞很精準(zhǔn),這也是能力、經(jīng)驗(yàn)、專業(yè)性、英語水平等多個(gè)方面的體
現(xiàn),會給人留下很好的印象,在編程能力和其它方面條件差不多的情況下,英語好除了可以使你獲得更多
機(jī)會外,薪水可以高出一千元。
10、使用final關(guān)鍵字修飾一個(gè)變量時(shí),是引用不能變,還
是引用的對象不能變?
使用final關(guān)鍵字修飾一個(gè)變量時(shí),是指引用變量不能變,引用變量所指向的對象中的內(nèi)容還是可以改
變的。例如,對于如下語句:
finalStringBuftera=newStringBuffer(,,immutableu);
執(zhí)行如下語句將報(bào)告編譯期錯(cuò)誤:
a=newStringBuffer(,,M);
但是,執(zhí)行如下語句則可以通過編譯:
(**broken!");
有人在定義方法的參數(shù)時(shí),可能想采用如下形式來阻止方法內(nèi)部修改傳進(jìn)來的參數(shù)對象:
publicvoidmethod(finalStringBuffcrparam){
)
實(shí)際上,這是辦不到的,在該方法內(nèi)部仍然可以增加如下代碼來修改參數(shù)對象:
(naM);
11、”=="和equals方法究竟有什么區(qū)別?
(單獨(dú)把一個(gè)東西說清楚,然后再說清楚另一個(gè),這樣,它們的區(qū)別自然就出來了,混在一起說,則
很難說清楚)
==操作符專門用來比較兩個(gè)變量的值是否相等,也就是用于比較變量所對應(yīng)的內(nèi)存中所存儲的數(shù)值是
否相同,要比較兩個(gè)基本類型的數(shù)據(jù)或兩個(gè)引用變量是否相等,只能用==操作符。
如果一個(gè)變量指向的數(shù)據(jù)是對象類型的,那么,這時(shí)候涉及了兩塊內(nèi)存,對象本身占用一塊內(nèi)存(堆
內(nèi)存),變量也占用一塊內(nèi)存,例如Objetobj=newObject。;變量obj是一個(gè)內(nèi)存,newObject。是另一個(gè)
內(nèi)存,此時(shí),變量obj所對應(yīng)的內(nèi)存中存儲的數(shù)值就是對象占用的那塊內(nèi)存的首地址。對于指向?qū)ο箢愋?/p>
的變量,如果要比較兩個(gè)變量是否指向同一個(gè)對象,即要看這兩個(gè)變量所對應(yīng)的內(nèi)存中的數(shù)值是否相等,
這時(shí)候就需要用==操作符進(jìn)行比較。
equals方法是用于比較兩個(gè)獨(dú)立對象的內(nèi)容是否相同,就好比去比較兩個(gè)人的長相是否相同,它比較
的兩個(gè)對象是獨(dú)立的。例如,對于下面的代碼:
Stringa=newString(nfoon);
Stringb=newStringC7oo");
兩條new語句創(chuàng)建了兩個(gè)對象,然后用a,b這兩個(gè)變量分別指向了其中一個(gè)對象,這是兩個(gè)不同的對
象,它們的首地址是不同的,即a和b中存儲的數(shù)值是不相同的,所以,表達(dá)式a==b將返回false,而這
兩個(gè)對象中的內(nèi)容是相同的,所以,(b)將返回true。
在實(shí)際開發(fā)中,我們經(jīng)常要比較傳遞進(jìn)行來的字符串內(nèi)容是否等,例如,Stringinput=…;("quit”),
許多人稍不注意就使用==進(jìn)行比較了,這是錯(cuò)誤的,隨便從網(wǎng)上找?guī)讉€(gè)項(xiàng)目實(shí)戰(zhàn)的教學(xué)視頻看看,里面就
有大量這樣的錯(cuò)誤。記住,字符串的比較基本上都是使用equals方法。
如果一個(gè)類沒有自己定義equals方法,那么它將繼承Object類的equals方法,Object類的equals方
法的實(shí)現(xiàn)代碼如下:
booleanequals(Objecto){
returnthis==o;
)
這說明,如果一^類沒有自己定義equals方法,它默認(rèn)的equals方法(從Object類繼承的)就是使
用==操作符,也是在比較兩個(gè)變量指向的對象是否是同一對象,這時(shí)候使用equals和使用==會得到同樣
的結(jié)果,如果比較的是兩個(gè)獨(dú)立的對象則總返回false.如果你編寫的類希望可以比較該類創(chuàng)建的兩個(gè)實(shí)例
對象的內(nèi)容是否相同,那么你必須覆蓋equals方法,由你自己寫代碼來決定在什么情況即可認(rèn)為兩個(gè)對象
的內(nèi)容是相同的。
12、靜態(tài)變量和實(shí)例變量的區(qū)別?
在語法定義上的區(qū)別:靜態(tài)變量前要加static關(guān)鍵字,而實(shí)例變量前則不加。
在程序運(yùn)行時(shí)的區(qū)別:實(shí)例變量屬于某個(gè)對象的屬性,必須創(chuàng)建了實(shí)例對象,其中的實(shí)例變量才會被分
配空間,才能使用這個(gè)實(shí)例變量。靜態(tài)變量不屬于某個(gè)實(shí)例對象,而是屬于類,所以也稱為類變量,只要
程序加載了類的字節(jié)碼,不用創(chuàng)建任何實(shí)例對象,靜態(tài)變量就會被分配空間,靜態(tài)變量就可以被使用了。
總之,實(shí)例變量必須創(chuàng)建對象后才可以通過這個(gè)對象來使用,靜態(tài)變量則可以直接使用類名來引用。
例如,對于下面的程序,無論創(chuàng)建多少個(gè)實(shí)例對象,永遠(yuǎn)都只分配了一個(gè)staticVar變量,并且每創(chuàng)建
一個(gè)實(shí)例對象,這個(gè)staticVar就會加1;但是,每創(chuàng)建一個(gè)實(shí)例對象,就會分配一個(gè)instanceVar,即可能
分配多個(gè)instanceVar,并且每個(gè)instanceVar的值都只自加了1次。
publicclassVariantTest{
publicstaticintstaticVar=0;
publicintinstanceVar=0;
publicVariantTest(){
staticVar++;
instanceVar++;
("staticVar="+staticVar+instanceVar=^^+instanceVar);
)
)
備注:這個(gè)解答除了說清楚兩者的區(qū)別外,最后還用一個(gè)具體的應(yīng)用例子來說明兩者的差異,體現(xiàn)了自
己有很好的解說問題和設(shè)計(jì)案例的能力,思維敏捷,超過一般程序員,有寫作能力!
13、是否可以從一個(gè)static方法內(nèi)部發(fā)出對非static方法的
調(diào)用?
不可以。因?yàn)榉莝tatic方法是要與對象關(guān)聯(lián)在一起的,必須創(chuàng)建一個(gè)對象后,才可以在該對象上進(jìn)行
方法調(diào)用,而static方法調(diào)用時(shí)不需要?jiǎng)?chuàng)建對象,可以直接調(diào)用。也就是說,當(dāng)一個(gè)static方法被調(diào)用時(shí),
可能還沒有創(chuàng)建任何實(shí)例對象,如果從一個(gè)static方法中發(fā)出對非static方法的調(diào)用,那個(gè)非static方法是
關(guān)聯(lián)到哪個(gè)對象上的呢?這個(gè)邏輯無法成立,所以,一個(gè)static方法內(nèi)部發(fā)出對非static方法的調(diào)用。
14、Integer與int的區(qū)別
int是java提供的8種原始數(shù)據(jù)類型之一。Java為每個(gè)原始類型提供了封裝類,Integer是java為int
提供的封裝類。int的默認(rèn)值為(),而Integer的默認(rèn)值為null,即Integer可以區(qū)分出未賦值和值為0的區(qū)
別,int則無法表達(dá)出未賦值的情況,例如,要想表達(dá)出沒有參加考試和考試成績?yōu)?的區(qū)別,則只能使用
Integer<?在JSP開發(fā)中,Integer的默認(rèn)為null,所以用el表達(dá)式在文本框中顯示時(shí),值為空白字符串,
而int默認(rèn)的默認(rèn)值為0,所以用cl表達(dá)式在文本框中顯示時(shí),結(jié)果為0,所以,int不適合作為web層的
表單數(shù)據(jù)的類型。
在Hibernate中,如果將OID定義為Integer類型,那么Hibernate就可以根據(jù)其值是否為null而判
斷一個(gè)對象是否是臨時(shí)的,如果將OID定義為了int類型,還需要在hbm映射文件中設(shè)置其unsaved-value
屬性為0。
另外,Integer提供了多個(gè)與整數(shù)相關(guān)的操作方法,例如,將一個(gè)字符串轉(zhuǎn)換成整數(shù),Integer中還定
義了表示整數(shù)的最大值和最小值的常量。
15、()等於多少?()等於多少?
Math類中提供了三個(gè)與取整有關(guān)的方法:ceil、floor,round,這些方法的作用與它們的英文名稱的含
義相對應(yīng),例如,ceil的英文意義是天花板,該方法就表示向上取整,。的結(jié)果為12,()的結(jié)果是-11;floor
的英文意義是地板,該方法就表示向下取整,。的結(jié)果為11,0的結(jié)果是“2;最難掌握的是round方法,它
表示“四舍五入”,(x+),,所以,()的結(jié)果為12,()的結(jié)果為
16、下面的代碼有什么不妥之處?
1.if((“zxx"){}
2.intx=1;
returnx==l?true:false;
17、請說出作用域public,private,protected,以及不寫時(shí)
的區(qū)別
這四個(gè)作用域的可見范圍如下表所示。
說明:如果在修飾的元素上面沒有寫任何訪問修飾符,則表示friendly。
作用域目前類同一package子孫類其它package
publicVVVV
protectedJVVX
friendlyVVXX
privateVXXX
備注:只要記住了有4種訪問權(quán)限,4個(gè)訪問范圍,然后將全選和范圍在水平和垂直方向上分別按排從
小到大或從大到小的順序排列,就很容易畫出上面的圖了。
18、Overload和Override的區(qū)別。Overloaded的方法是否
可以改變返回值的類型?
Overload是重載的意思,Override是覆蓋的意思,也就是重寫。
重載Overload表示同一個(gè)類中可以有多個(gè)名稱相同的方法,但這些方法的參數(shù)列表各不相同(即參
數(shù)個(gè)數(shù)或類型不同).
重寫Override表示子類中的方法可以與父類中的某個(gè)方法的名稱和參數(shù)完全相同,通過子類創(chuàng)建的實(shí)
例對象調(diào)用這個(gè)方法時(shí),將調(diào)用子類中的定義方法,這相當(dāng)于把父類中定義的那個(gè)完全相同的方法給覆蓋
了,這也是面向?qū)ο缶幊痰亩鄳B(tài)性的一種表現(xiàn)。子類覆蓋父類的方法時(shí),只能比父類拋出更少的異常,或
者是拋出父類拋出的異常的子異常,因?yàn)樽宇惪梢越鉀Q父類的一些問題,不能比父類有更多的問題。子類
方法的訪問權(quán)限只能比父類的更大,不能更小。如果父類的方法是private類型,那么,子類則不存在覆
蓋的限制,相當(dāng)于子類中增加了一個(gè)全新的方法。
至于Overloaded的方法是否可以改變返回值的類型這個(gè)問題,要看你倒底想問什么呢?這個(gè)題目很模
糊。如果幾個(gè)Overloaded的方法的參數(shù)列表不一樣,它們的返回者類型當(dāng)然也可以不一樣.但我估計(jì)你
想問的問題是:如果兩個(gè)方法的參數(shù)列表完全一樣,是否可以讓它們的返回值不同來實(shí)現(xiàn)重載Overload。
這是不行的,我們可以用反證法來說明這個(gè)問題,因?yàn)槲覀冇袝r(shí)候調(diào)用一個(gè)方法時(shí)也可以不定義返回結(jié)果
變量,即不要關(guān)心其返回結(jié)果,例如,(key)方法時(shí),雖然remove方法有返回值,但是我們通常都不會定
義接收返回結(jié)果的變量,這時(shí)候假設(shè)該類中有兩個(gè)名稱和參數(shù)列表完全相同的方法,僅僅是返回類型不同,
java就無法確定編程者倒底是想調(diào)用哪個(gè)方法了,因?yàn)樗鼰o法通過返回結(jié)果類型來判斷。
override可以翻譯為覆蓋,從字面就可以知道,
它是覆蓋了一個(gè)方法并且對其重寫,以求達(dá)到不
同的作用。對我們來說最熟悉的覆蓋就是對接口
方法的實(shí)現(xiàn),在接口中一般只是對方法進(jìn)行了聲
明,而我們在實(shí)現(xiàn)時(shí),就需要實(shí)現(xiàn)接口聲明的所
有方法。除了這個(gè)典型的用法以外,我們在繼承
中也可能會在子類覆蓋父類中的方法。在覆蓋要
注意以下的幾點(diǎn):
1、覆蓋的方法的標(biāo)志必須要和被覆蓋的方法的
標(biāo)志完全匹配,才能達(dá)到覆蓋的效果;
2、覆蓋的方法的返回值必須和被覆蓋的方法的
返回一致;
3、覆蓋的方法所拋出的異常必須和被覆蓋方法
的所拋出的異常一致,或者是其子類;
4、被覆蓋的方法不能為private,否則在其子類
中只是新定義了一個(gè)方法,并沒有對其進(jìn)行覆
蓋。
overload對我們來說可能比較熟悉,可以翻譯
為重載,它是指我們可以定義一些名稱相同的方
法,通過定義不同的輸入?yún)?shù)來區(qū)分這些方法,
然后再調(diào)用時(shí),VM就會根據(jù)不同的參數(shù)樣式,
來選擇合適的方法執(zhí)行。在使用重載要注意以下
的幾點(diǎn):
1、在使用重載時(shí)只能通過不同的參數(shù)樣式。例
如,不同的參數(shù)類型,不同的參數(shù)個(gè)數(shù),不同的
參數(shù)順序(當(dāng)然,同一方法內(nèi)的幾個(gè)參數(shù)類型必
須不一樣,例如可以是fun(int,float),但是不能
為fun(intjnt));
2、不能通過訪問權(quán)限、返回類型、拋出的異常
進(jìn)行重載;
3、方法的異常類型和數(shù)目不會對重載造成影響;
4、對于繼承來說,如果某一方法在父類中是訪問權(quán)限是priavte,那么就不能
在子類對其進(jìn)行重載,如果定義的話,也只是定義了一個(gè)新方法,而不會達(dá)到
重載的效果。
19>構(gòu)造器Constructor是否可被override?
構(gòu)造器Constructor不能被繼承,因此不能重寫Override,但可以被重載Overload。
20、接口是否可繼承接口?抽象類是否可實(shí)現(xiàn)(implements)
接口?抽象類是否可繼承具體類(concreteclass)?抽象類中
是否可以有靜態(tài)的main方法?
接口可以繼承接口。抽象類可以實(shí)現(xiàn)(implements)接口,抽象類是否可繼承具體類。抽象類中可以有
靜態(tài)的main方法。
備注:只要明白了接口和抽象類的本質(zhì)和作用,這些問題都很好回答,你想想,如果你是java語言的
設(shè)計(jì)者,你是否會提供這樣的支持,如果不提供的話,有什么理由嗎?如果你沒有道理不提供,那答案就
是肯定的了.
只有記住抽象類與普通類的唯一區(qū)別就是不能創(chuàng)建實(shí)例對象和允許有abstract方法。
21、寫clone。方法時(shí),通常都有一行代碼,是什么?
clone有缺省行為,();因?yàn)槭紫纫迅割愔械某蓡T復(fù)制到位,然后才是復(fù)制自己的成員。
22、面向?qū)ο蟮奶卣饔心男┓矫?/p>
計(jì)算機(jī)軟件系統(tǒng)是現(xiàn)實(shí)生活中的業(yè)務(wù)在計(jì)算機(jī)中的映射,而現(xiàn)實(shí)生活中的業(yè)務(wù)其實(shí)就是一個(gè)個(gè)對象協(xié)
作的過程。面向?qū)ο缶幊叹褪前船F(xiàn)實(shí)業(yè)務(wù)一樣的方式將程序代碼按一個(gè)個(gè)對象進(jìn)行組織和編寫,讓計(jì)算機(jī)
系統(tǒng)可以識別和理解用對象方式組織和編寫的程序代碼,這樣就可以把現(xiàn)實(shí)生活中的業(yè)務(wù)對象映射到計(jì)算
機(jī)系統(tǒng)中。
面向?qū)ο蟮木幊陶Z言有封裝、繼承、抽象、多態(tài)等4個(gè)主要的特征。
1封裝:
封裝是保證軟件部件具有優(yōu)良的模塊性的基礎(chǔ),封裝的目標(biāo)就是要實(shí)現(xiàn)軟件部件的“高內(nèi)聚、低
耦合”,防止程序相互依賴性而帶來的變動(dòng)影響。在面向?qū)ο蟮木幊陶Z言中,對象是封裝的最基本單
位,面向?qū)ο蟮姆庋b比傳統(tǒng)語言的封裝更為清晰、更為有力。面向?qū)ο蟮姆庋b就是把描述一個(gè)對象的
屬性和行為的代碼封裝在一個(gè)“模塊”中,也就是一個(gè)類中,屬性用變量定義,行為用方法進(jìn)行定義,方
法可以直接訪問同一個(gè)對象中的屬性。通常情況下,只要記住讓變量和訪問這個(gè)變量的方法放在一起,將
一個(gè)類中的成員變量全部定義成私有的,只有這個(gè)類自己的方法才可以訪問到這些成員變量,這就基本上
實(shí)現(xiàn)對象的封裝,就很容易找出要分配到這個(gè)類上的方法了,就基本上算是會面向?qū)ο蟮木幊塘?。把握?/p>
個(gè)原則:把對同一事物進(jìn)行操作的方法和相關(guān)的方法放在同一個(gè)類中,把方法和它操作的數(shù)據(jù)放在同一個(gè)類
中。
例如,人要在黑板上畫圓,這一共涉及三個(gè)對象:人、黑板、圓,畫圓的方法要分配給哪個(gè)對象呢?由
于畫圓需要使用到圓心和半徑,圓心和半徑顯然是圓的屬性,如果將它們在類中定義成了私有的成員變量,
那么,畫圓的方法必須分配給圓,它才能訪問到圓心和半徑這兩個(gè)屬性,人以后只是調(diào)用圓的畫圓方法、
表示給圓發(fā)給消息而己,畫圓這個(gè)方法不應(yīng)該分配在人這個(gè)對象上,這就是面向?qū)ο蟮姆庋b性,即將對象
封裝成一個(gè)高度自治和相對封閉的個(gè)體,對象狀態(tài)(屬性)由這個(gè)對象自己的行為(方法)來讀取和改變。
一個(gè)更便于理解的例子就是,司機(jī)將火車剎住了,剎車的動(dòng)作是分配給司機(jī),還是分配給火車,顯然,應(yīng)
該分配給火車,因?yàn)樗緳C(jī)自身是不可能有那么大的力氣將一個(gè)火車給停下來的,只有火車自己才能完成這
一動(dòng)作,火車需要調(diào)用內(nèi)部的離合器和剎車片等多個(gè)器件協(xié)作才能完成剎車這個(gè)動(dòng)作,司機(jī)剎車的過程只
是給火車發(fā)了一個(gè)消息,通知火車要執(zhí)行剎車動(dòng)作而已。
抽象:
抽象就是找出一些事物的相似和共性之處,然后將這些事物歸為一個(gè)類,這個(gè)類只考慮這些事物
的相似和共性之處,并且會忽略與目前主題和目標(biāo)無關(guān)的那些方面,將注意力集中在與目前目標(biāo)有關(guān)
的方面。例如,看到一只螞蟻和大象,你可以想象出它們的相同之處,那就是抽象。抽象包括行為抽
象和狀態(tài)抽象兩個(gè)方面.例如,定義一個(gè)Person類,如下:
classPerson{
Stringname;
intage;
)
人本來是很復(fù)雜的事物,有很多方面,但因?yàn)槟壳跋到y(tǒng)只需要了解人的姓名和年齡,所以上面定
義的類中只包含姓名和年齡這兩個(gè)屬性,這就是一種抽像,使用抽象可以避免考慮一些與目標(biāo)無關(guān)的
細(xì)節(jié)。我對抽象的理解就是不要用顯微鏡去看一個(gè)事物的所有
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家用紡織品的產(chǎn)品差異化與競爭優(yōu)勢考核試卷
- 智能車載設(shè)備的故障預(yù)測考核試卷
- 工藝美術(shù)品的商業(yè)模式創(chuàng)新考核試卷
- 專業(yè)技術(shù)培訓(xùn)引領(lǐng)行業(yè)變革考核試卷
- 家居裝飾裝修中的施工質(zhì)量控制考核試卷
- 城市軌道交通的旅客負(fù)擔(dān)與收入分析考核試卷
- 技術(shù)標(biāo)準(zhǔn)制定考核試卷
- 工業(yè)控制計(jì)算機(jī)在電力系統(tǒng)的應(yīng)用考核試卷
- 學(xué)校租賃土地合同范本
- 公司并購簽約合同范本
- 2025年湖南城建職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫新版
- 企業(yè)級軟件開發(fā)作業(yè)指導(dǎo)書
- 《中國古代文學(xué)史及作品選II》教學(xué)大綱
- 代工生產(chǎn)合同范本
- 人教版英語2025七年級下冊 Unit1Animal Friends教師版 語法講解+練習(xí)
- DeepSeek新手入門教程
- 課件:《教育強(qiáng)國建設(shè)規(guī)劃綱要(2024-2035年)》學(xué)習(xí)宣講
- 2025年上海市商品交易市場進(jìn)場經(jīng)營合同(2篇)
- 2025年全國幼兒園教師資格證考試教育理論知識押題試題庫及答案(共九套)
- 2024年鄭州電力高等專科學(xué)校高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- 產(chǎn)品試產(chǎn)流程
評論
0/150
提交評論