黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專(zhuān)注Java教育14年 全國(guó)咨詢(xún)/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 職業(yè)指南 Java基礎(chǔ)面試題及答案,只看這篇就夠了

Java基礎(chǔ)面試題及答案,只看這篇就夠了

更新時(shí)間:2022-12-23 15:01:09 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1207次

1.String類(lèi)可以被繼承嗎?

不能。String類(lèi)在聲明中使用final關(guān)鍵字修飾符。使用final關(guān)鍵字修飾的類(lèi)無(wú)法被繼承。

Java語(yǔ)言的開(kāi)發(fā)者為什么要將String類(lèi)定義為final類(lèi)呢?

•因?yàn)楫?dāng)字符串是不可變的,字符串池才有可能實(shí)現(xiàn)。字符串池的實(shí)現(xiàn)可以在運(yùn)行時(shí)節(jié)約很多的堆空間,因?yàn)椴欢淖址兞慷贾赶虺刂械耐粋€(gè)字符串。如果字符串是可變的,那么字符串的駐留將不可能實(shí)現(xiàn),因?yàn)檫@樣的話(huà),

如果變量改變了它的值,那么其他指向這個(gè)值的變量也會(huì)一起改變。如果字符串是可變的那邊會(huì)引起很?chē)?yán)重的安全問(wèn)題。

•因?yàn)樽址遣豢勺兊模允嵌嗑€程安全的。同一個(gè)字符串實(shí)例可以可以被多個(gè)線程共享。這樣便不用因?yàn)榫€程安全問(wèn)題而使用同步。

•因?yàn)樽址遣豢勺兊模栽谒鼊?chuàng)建的時(shí)候HashCode就被緩存了,不需要重新計(jì)算。這就使得字符串很適合作為Map中的鍵,字符串中的處理速度要快于其他的鍵對(duì)象。這就是HashMap中的鍵往往都使用字符串。

2.final修飾符在Java中有什么用?

•final修飾的變量叫做常量,常量必須初始化,初始化后的值不能被修改。

•final修飾的方法不能被重載也不能被重寫(xiě)。

•final修飾的類(lèi)叫最終類(lèi),該類(lèi)不能被繼承。

3.JDK和JRE有什么區(qū)別?

JDK:Java Development Kit的簡(jiǎn)稱(chēng),Java開(kāi)發(fā)工具包,包含Java開(kāi)發(fā)環(huán)境和運(yùn)行環(huán)境。

JRE:Java Runtime Enviroment的簡(jiǎn)稱(chēng),Java運(yùn)行環(huán)境,為Java的運(yùn)行提供了所需的環(huán)境。

4.==和equals的區(qū)別是什么?

•==對(duì)于基本數(shù)據(jù)類(lèi)型和引用類(lèi)型的作用效果是不同,對(duì)于基本數(shù)據(jù)類(lèi)型比較的值是否相等,對(duì)于引用類(lèi)型比較的應(yīng)用是否相等。

•equals默認(rèn)情況先比較的引用是否相等,只是很多類(lèi)重寫(xiě)了Object類(lèi)的equals方法,比如String,Integer把equals方法變成了比較的值是否相等,所以一般情況下equals比較的是值是否相等。

5.&和&&的區(qū)別?

&和&&在程序中最終的運(yùn)算結(jié)果是一致的,區(qū)別在于:

•&運(yùn)算符是:邏輯與,&不管左邊表達(dá)式的結(jié)果是true還是false,右邊的表達(dá)式都一定會(huì)執(zhí)行;&運(yùn)算符還可以使用在二進(jìn)制位運(yùn)算上。

•&&運(yùn)算符是:短路與,&&運(yùn)算符當(dāng)左邊的表達(dá)式結(jié)果是false時(shí),右邊的表達(dá)式不執(zhí)行,存在短路現(xiàn)象。

6.重載(overload)和重寫(xiě)(override)的區(qū)別?

方法的重載和重寫(xiě)都是實(shí)現(xiàn)多態(tài)的方式,區(qū)別在于:

•重載實(shí)現(xiàn)的是編譯時(shí)的多態(tài)性;重載發(fā)生在一個(gè)類(lèi)中,同名的方法如果有不同的參數(shù)列表(參數(shù)個(gè)數(shù),參數(shù)類(lèi)型,順序不同)則視為重載。

•重載實(shí)現(xiàn)的是運(yùn)行時(shí)的多態(tài)性;重寫(xiě)發(fā)生在子類(lèi)與父類(lèi)之間,重寫(xiě)要求子類(lèi)重寫(xiě)父類(lèi)的方法后與父類(lèi)重寫(xiě)的方法有相同的返回類(lèi)型,比父類(lèi)被重寫(xiě)方法更好訪問(wèn),不能比父類(lèi)被重寫(xiě)方法聲明更多的異常(里氏代換原則)。

方法重寫(xiě)的規(guī)則:

•參數(shù)列表、方法名、返回值類(lèi)型必須完全一致;

•構(gòu)造方法不能被重寫(xiě);

•聲明為 final 的方法不能被重寫(xiě);

•聲明為 static 的方法不存在重寫(xiě)(重寫(xiě)和多態(tài)聯(lián)合才有意義);

•訪問(wèn)權(quán)限不能比父類(lèi)更低;

•重寫(xiě)之后的方法不能拋出更寬泛的異常;

7.抽象類(lèi)(abstract)和接口(interface)有何異同?

•在實(shí)現(xiàn)方面:抽象類(lèi)的子類(lèi)用extends關(guān)鍵字來(lái)繼承;接口必須使用impelements關(guān)鍵字來(lái)實(shí)現(xiàn)接口。

•關(guān)于構(gòu)造函數(shù):抽象類(lèi)可以有構(gòu)造函數(shù),接口不能有。

•關(guān)于main方法:抽象了可以有mian方法,并且我們能夠運(yùn)行它,但接口不能有。

•在實(shí)現(xiàn)數(shù)量:類(lèi)可以實(shí)現(xiàn)多個(gè)接口,但只能繼承一個(gè)抽象類(lèi)。

•關(guān)于訪問(wèn)修飾符:接口中的方法默認(rèn)的修飾符是public;抽象類(lèi)中的訪問(wèn)修飾符可以是任意訪問(wèn)修飾符。

8.String str = "i" 和String str = new String("1")一樣嗎?

不一樣,因?yàn)閮?nèi)存的分配方式不一樣。String str = "i"的方式JVM會(huì)將其分配到常量池中,而String str = new String("i")JVM會(huì)將其分配到堆內(nèi)存中。

9.闡述靜態(tài)變量和實(shí)例變量的區(qū)別?

不管創(chuàng)建多少個(gè)對(duì)象,靜態(tài)變量在內(nèi)存中有且僅有一個(gè);實(shí)例變量必須依存于某一實(shí)例,需要先創(chuàng)建對(duì)象然后通過(guò)對(duì)象才能訪問(wèn)到它。靜態(tài)變量可以實(shí)現(xiàn)讓多個(gè)對(duì)象共享內(nèi)存。

10.String s = "Hello";s = s + " world!";這兩行代碼執(zhí)行后,原始的 String 對(duì)象中的內(nèi)容變了沒(méi)有?

沒(méi)有,因?yàn)?String被設(shè)計(jì)成不可變類(lèi),所以它的所有對(duì)象都是不可變對(duì)象。在這段代碼中,s原先指向一個(gè) String 對(duì)象,內(nèi)容是 "Hello",然后對(duì) s 進(jìn)行了“+”操作,但是 s 所指向的那個(gè)對(duì)象是還是沒(méi)有改變,這時(shí)s不指向原來(lái)那個(gè)對(duì)象,而指向了另一個(gè) String 對(duì)象,內(nèi)容為"Hello world!",原來(lái)那個(gè)對(duì)象還存在于內(nèi)存之中,只是 s 這個(gè)引用變量不再指向它。

11.Java 中操作字符串都有哪些類(lèi)?它們之間有什么區(qū)別?

操作字符串的類(lèi)有:String、StringBuffer、StringBuilder。

String 和 StringBuffer、StringBuilder 的區(qū)別在于 String 聲明的是不可變的對(duì)象,每次操作都會(huì)生成新的 String 對(duì)象,再將指針指向新的 String 對(duì)象,而 StringBuffer 、 StringBuilder 可以在原有對(duì)象的基礎(chǔ)上進(jìn)行操作,所以在經(jīng)常改變字符串內(nèi)容的情況下最好不要使用 String。

StringBuffer 和 StringBuilder 最大的區(qū)別在于,StringBuffer 是線程安全的,而 StringBuilder 是非線程安全的,但 StringBuilder 的性能卻高于 StringBuffer,所以在單線程環(huán)境下推薦使用 StringBuilder,多線程環(huán)境下推薦使用 StringBuffer。

以上就是“Java基礎(chǔ)面試題及答案,只看這篇就夠了”,你能回答上來(lái)嗎?如果想要了解更多的Java面試題相關(guān)內(nèi)容,可以關(guān)注動(dòng)力節(jié)點(diǎn)Java官網(wǎng)。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 一区二区三区福利视频 | 高h辣肉各种姿势爽文bl | 理伦片免费理论片 | 无遮挡一级毛片视频 | 国产成人精品magnet | 看片地址| 久草福利网 | 欧美亚洲风情 | 亚洲无限乱码一二三四区 | 亚洲欧美视频一区二区三区 | 看全色黄大色大片免费久久 | 小妖精抬起臀嗯啊h军人小说 | 老司机免费福利午夜入口ae58 | 青草青草久热精品视频在线网站 | 免费777my性欧美另类 | 精品国产一区二区麻豆 | 免费看的毛片 | 全免费午夜一级毛片一级毛 | 日本韩国一区二区三区 | 最近2019中文字幕免费版视频 | 国产精品午夜高清在线观看 | 亚洲一级黄色片 | 国产精品亚洲高清一区二区 | 日韩国产欧美视频 | 成年美女黄网站色大免费视频 | 久久精品国产亚洲网站 | 国产精品视频人人做人人爱 | 午夜视频在线观看完整高清在线 | 1024你懂的国产在线播放 | 国产一卡2卡3卡四卡精品网站 | 日本xxx在线播放 | 午夜性影院爽爽爽爽爽爽 | 成年视频xxxxx免费播放软件 | 天堂网中文 | 日韩精品一区二区三区四区 | 日本三级香港三级少妇 | 国产九九免费视频网站 | 欧美日韩一二 | 97人洗澡人人澡人人爽人人 | 麻豆一区二区三区四区 | 激情五月激情综合色区 |