java面试技术问题_11个JAVA面试中常见技术问题
原標(biāo)題:11個(gè)JAVA面試中常見(jiàn)技術(shù)問(wèn)題
大家在平常面試java的過(guò)程中都會(huì)遇到哪些難題呢?還有一些即將去面試java的童鞋們,你們想知道技術(shù)面試中會(huì)涉及到哪些點(diǎn)嗎?達(dá)妹為你整理Java面試中會(huì)被問(wèn)到的幾個(gè)技術(shù)難題。
1、一個(gè)".java"源文件中是否可以包括多個(gè)類(lèi)(不是內(nèi)部類(lèi))?有什么限制?
可以有多個(gè)類(lèi),但只能有一個(gè)public的類(lèi),并且public的類(lèi)名必須與文件名相一致。
2、Java有沒(méi)有g(shù)oto?
java中的保留字,現(xiàn)在沒(méi)有在java中使用。
3、說(shuō)說(shuō)&和&&的區(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á)式。 &還可以用作位運(yùn)算符,當(dāng)&操作符兩邊的表達(dá)式不是boolean類(lèi)型時(shí),&表示按位與操作。
4、在JAVA中如何跳出當(dāng)前的多重嵌套循環(huán)?
在Java中,要想跳出多重循環(huán),可以在外面的循環(huán)語(yǔ)句前定義一個(gè)標(biāo)號(hào),然后在里層循環(huán)體的代碼中使用帶有標(biāo)號(hào)的break語(yǔ)句,即可跳出外層循環(huán)。
5、switch語(yǔ)句能否作用在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類(lèi)型不符合switch的語(yǔ)法規(guī)定,并且不能被隱式轉(zhuǎn)換成int類(lèi)型,所以,它不能作用于swtich語(yǔ)句中。String在jdk1.7以后可以使用。
6、char型變量中能不能存貯一個(gè)中文漢字?為什么?
char型變量是用來(lái)存儲(chǔ)Unicode編碼的字符的,unicode編碼字符集中包含了漢字,所以,char型變量中當(dāng)然可以存儲(chǔ)漢字啦。不過(guò),如果某個(gè)特殊的漢字沒(méi)有被包含在unicode編碼字符集中,那么,這個(gè)char型變量中就不能存儲(chǔ)這個(gè)特殊漢字。補(bǔ)充說(shuō)明:unicode編碼占用兩個(gè)字節(jié),所以,char類(lèi)型的變量也是占用兩個(gè)字節(jié)。
7、使用final關(guān)鍵字修飾一個(gè)變量時(shí),是引用不能變,還是引用的對(duì)象不能變?
使用final關(guān)鍵字修飾一個(gè)變量時(shí),是指引用變量不能變,引用變量所指向的對(duì)象中的內(nèi)容還是可以改變的。
8、靜態(tài)變量和實(shí)例變量的區(qū)別?
在語(yǔ)法定義上的區(qū)別:靜態(tài)變量前要加static關(guān)鍵字,而實(shí)例變量前則不加。
在程序運(yùn)行時(shí)的區(qū)別:實(shí)例變量屬于某個(gè)對(duì)象的屬性,必須創(chuàng)建了實(shí)例對(duì)象,其中的實(shí)例變量才會(huì)被分配空間,才能使用這個(gè)實(shí)例變量。靜態(tài)變量不屬于某個(gè)實(shí)例對(duì)象,而是屬于類(lèi),所以也稱(chēng)為類(lèi)變量,只要程序加載了類(lèi)的字節(jié)碼,不用創(chuàng)建任何實(shí)例對(duì)象,靜態(tài)變量就會(huì)被分配空間,靜態(tài)變量就可以被使用了。
9、是否可以從一個(gè)static方法內(nèi)部發(fā)出對(duì)非static方法的調(diào)用?
不可以。因?yàn)榉莝tatic方法是要與對(duì)象關(guān)聯(lián)在一起的,必須創(chuàng)建一個(gè)對(duì)象后,才可以在該對(duì)象上進(jìn)行方法調(diào)用,而static方法調(diào)用時(shí)不需要?jiǎng)?chuàng)建對(duì)象,可以直接調(diào)用。
也就是說(shuō),當(dāng)一個(gè)static方法被調(diào)用時(shí),可能還沒(méi)有創(chuàng)建任何實(shí)例對(duì)象,如果從一個(gè)static方法中發(fā)出對(duì)非static方法的調(diào)用,那個(gè)非static方法是關(guān)聯(lián)到哪個(gè)對(duì)象上的呢?這個(gè)邏輯無(wú)法成立,所以,一個(gè)static方法內(nèi)部發(fā)出對(duì)非static方法的調(diào)用。
10、java中實(shí)現(xiàn)多態(tài)的機(jī)制是什么?
靠的是父類(lèi)或接口定義的引用變量可以指向子類(lèi)或具體實(shí)現(xiàn)類(lèi)的實(shí)例對(duì)象,而程序調(diào)用的方法在運(yùn)行期才動(dòng)態(tài)綁定,就是引用變量所指向的具體實(shí)例對(duì)象的方法,也就是內(nèi)存里正在運(yùn)行的那個(gè)對(duì)象的方法,而不是引用變量的類(lèi)型中定義的方法。
11、內(nèi)部類(lèi)可以引用它的包含類(lèi)的成員嗎?有沒(méi)有什么限制?
完全可以。如果不是靜態(tài)內(nèi)部類(lèi),那沒(méi)有什么限制!
如果你把靜態(tài)嵌套類(lèi)當(dāng)作內(nèi)部類(lèi)的一種特例,那在這種情況下不可以訪(fǎng)問(wèn)外部類(lèi)的普通成員變量,而只能訪(fǎng)問(wèn)外部類(lèi)中的靜態(tài)成員。
這11個(gè)常被問(wèn)到的問(wèn)題,你get到了嗎?下次去面試如果遇到這樣的問(wèn)題,希望你能對(duì)答如流,早點(diǎn)獲得心儀企業(yè)的offer吧!返回搜狐,查看更多
責(zé)任編輯:
總結(jié)
以上是生活随笔為你收集整理的java面试技术问题_11个JAVA面试中常见技术问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 手机输入法带拼音声调_分享4种给拼音加声
- 下一篇: 魔兽控制命令ID