Java面試題之基本語法(圖解)
本文的主要內(nèi)容包括在下圖,下面來一起看看吧。
1、&和&&的區(qū)別
2、switch
switch語句能否作用在byte,能否作用在long上,能否作用在String上,還能用在哪里?
switch支持的類型是byte,short,char,int。本質(zhì)上說,switch僅僅只能支持int類型.(byte,short,char,會自動提升為int類型),所以,switch不支持long類型
3、final
使用final關(guān)鍵字修飾一個變量時,是引用不能變,還是引用的對象不能變
4、"=="和"equals"方法究竟有什么區(qū)別
5、Overload和Override的區(qū)別
Overload是方法重載, Override是方法重寫,兩者除了名字比較像外,沒啥關(guān)系
6、構(gòu)造器Constructor是否可被override
構(gòu)造器Constructor不能被繼承,因此不能重寫Override,但可以被重載Overload。
7、序列化接口的id有什么用
序列化版本的控制.對象序列化到存儲設(shè)備上,數(shù)據(jù)和原始類結(jié)構(gòu)之間就沒有了必然的聯(lián)系,他們聯(lián)系的依據(jù)就是類的全限定名.那么代碼中類的結(jié)構(gòu)是可以改的,采用序列化id來作為一個版本的控制,當(dāng)類的結(jié)構(gòu)發(fā)生變化時,我們就改變序列化的id版本值,在反序列化的時候,對比序列化文件的類型的版本號是否和當(dāng)前類型的版本號相同,如果相同,則反序列化,如果不同,則報錯.
8、hashCode方法的作用
1.一般來說,equals這個方法是給用戶調(diào)用的,如果你想判斷2個對象是否相等,你可以重寫equals方法,然后在代碼中調(diào)用,就可以判斷他們是否相等了.
2.hashCode方法一般用戶不會去調(diào)用,比如在HashMap中,由于key是不可以重復(fù)的,他在判斷key是否重復(fù)的時候就判斷了hashCode這個方法,而且也用到了equals方法,這里說的不重復(fù)是說hashCode和equals只要有一個不等就可以了.所以簡單來說,hashCode相當(dāng)于一個對象的編碼,就好像文件中的md5,他和equals不同就在于他返回的是int型的,比較起來不直觀,我們一般重寫equals的同時也重寫hashCode,讓他們邏輯一致
9、Java中多態(tài)的機(jī)制是什么
靠的是父類或接口定義的引用變量可以指向子類或具體實現(xiàn)類的實例對象,而程序調(diào)用的方法在運(yùn)行時才動態(tài)綁定,引用變量所指向的具體實例對象的方法,也就是內(nèi)存里正在運(yùn)行的那個對象的方法,而不是引用變量類型中定義的方法.
10、接口和抽象類的區(qū)別
11、JDK中哪些類是不能被繼承的
被final修飾的類是不能被繼承的
八大基本數(shù)據(jù)類型包裝類和String等
12、final, finally, finalize的區(qū)別
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
相關(guān)文章
Mybatis日期格式自動轉(zhuǎn)換需要用到的兩個注解說明
這篇文章主要介紹了Mybatis日期格式自動轉(zhuǎn)換需要用到的兩個注解說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08java實現(xiàn)創(chuàng)建縮略圖、伸縮圖片比例生成的方法
這篇文章主要介紹了java實現(xiàn)創(chuàng)建縮略圖、伸縮圖片比例生成的方法,可實現(xiàn)針對圖片大小的縮放功能,是Java針對圖片操作的典型應(yīng)用,需要的朋友可以參考下2014-11-11