面試題(二)

1.JAVA語(yǔ)言的特點(diǎn)?

1.簡(jiǎn)單易學(xué)
2.面向?qū)ο螅ǚ庋b繼承多態(tài))
3.平臺(tái)無(wú)關(guān)性
4.GC垃圾回收機(jī)制
5.異常處理機(jī)制
6.支持多線(xiàn)程
7.支持方便的網(wǎng)絡(luò)編程
8.編譯和解釋并存

2.面向?qū)ο蠛兔嫦蜻^(guò)程的區(qū)別?

1.面向過(guò)程的性能更高
2.面向?qū)ο笠拙S護(hù)、易復(fù)用、易拓展。使系統(tǒng)更靈活、更易于維護(hù)。

3.JAVA和C++的區(qū)別?

1.JAVA不提供指針訪(fǎng)問(wèn)內(nèi)存,程序內(nèi)存更安全。
2.JAVA類(lèi)單繼承 C++多繼承 但JAVA的接口可以多繼承
3.JAVA自帶內(nèi)存管理
4.JAVA沒(méi)有結(jié)束符

4.byte short int long float double char boolean

5.基本類(lèi)型和引用類(lèi)型的區(qū)別

1.基本類(lèi)型直接賦值 引用類(lèi)型先用new創(chuàng)建對(duì)象,然后把對(duì)象賦予對(duì)應(yīng)的值。
2.==號(hào)比較的時(shí)候,基本類(lèi)型比較的是值,引用類(lèi)型比較的是引用地址。
3.傳參時(shí),基本類(lèi)型是值傳遞,引用類(lèi)型是地址傳遞。
4.JVM中的位置,基本類(lèi)型直接存儲(chǔ)在棧中,而引用類(lèi)型,現(xiàn)在棧上分配一塊內(nèi)存,再把信息存在堆內(nèi)存上,然后由棧上面的引用指向堆中對(duì)象的地址。

6.重載與重寫(xiě)

重載發(fā)生在同一類(lèi)中,方法名必須相同,參數(shù)類(lèi)型、個(gè)數(shù)、順序,方法返回值和訪(fǎng)問(wèn)修飾符可以不同。
重寫(xiě)是子類(lèi)對(duì)父類(lèi)允許訪(fǎng)問(wèn)的方法的實(shí)現(xiàn)過(guò)程中進(jìn)行的重新編寫(xiě),發(fā)生在子類(lèi)中,方法名,參數(shù)類(lèi)型必須相同,返回值范圍小于等于父類(lèi),拋出的異常范圍小于等于父類(lèi),訪(fǎng)問(wèn)修飾范圍大于等于父類(lèi)。另外,如果父類(lèi)方法訪(fǎng)問(wèn)修飾符為private,子類(lèi)就不能重寫(xiě)該方法。也就是說(shuō)方法提供的行為改變,而方法的外貌并沒(méi)有改變。

7.封裝繼承多態(tài)

8.final修飾的類(lèi)不能被繼承,方法不能被重寫(xiě),變量不可被更改。

9.String StringBuffer StringBuilder的區(qū)別

String的值不可改變 另外兩個(gè)可以改變
StringBuffer線(xiàn)程安全效率低,StringBuilder線(xiàn)程不安全效率高。

10.為什么String要設(shè)置不可變?

1.為了實(shí)現(xiàn)字符串常量池
2.為了線(xiàn)程安全
3.為了保證同一變量調(diào)用hashcode都產(chǎn)生相同的值,這也是Map的key使用String的原因。

10.JAVA異常體系

ERROR是錯(cuò)誤
EXCEPTION表示程序本身可以處理的異常
checked exception是可檢查的異常(IDE中會(huì)報(bào)錯(cuò)的異常)
unchecked Exception

11.接口和抽象類(lèi)的區(qū)別

1.接口默認(rèn)的方法是public,所有方法在接口中不能有實(shí)現(xiàn)(Java 8 開(kāi)始接口方法可以有默認(rèn)實(shí)現(xiàn)),而抽象類(lèi)可以有非抽象的方法。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容