本文的主要內容包括在下圖,下面來一起看看吧。
1、&和&&的區別
2、switch
switch語句能否作用在byte,能否作用在long上,能否作用在string上,還能用在哪里?
switch支持的類型是byte,short,char,int。本質上說,switch僅僅只能支持int類型.(byte,short,char,會自動提升為int類型),所以,switch不支持long類型
3、final
使用final關鍵字修飾一個變量時,是引用不能變,還是引用的對象不能變
4、"=="和"equals"方法究竟有什么區別
5、overload和override的區別
overload是方法重載, override是方法重寫,兩者除了名字比較像外,沒啥關系
6、構造器constructor是否可被override
構造器constructor不能被繼承,因此不能重寫override,但可以被重載overload。
7、序列化接口的id有什么用
序列化版本的控制.對象序列化到存儲設備上,數據和原始類結構之間就沒有了必然的聯系,他們聯系的依據就是類的全限定名.那么代碼中類的結構是可以改的,采用序列化id來作為一個版本的控制,當類的結構發生變化時,我們就改變序列化的id版本值,在反序列化的時候,對比序列化文件的類型的版本號是否和當前類型的版本號相同,如果相同,則反序列化,如果不同,則報錯.
8、hashcode方法的作用
1.一般來說,equals這個方法是給用戶調用的,如果你想判斷2個對象是否相等,你可以重寫equals方法,然后在代碼中調用,就可以判斷他們是否相等了.
2.hashcode方法一般用戶不會去調用,比如在hashmap中,由于key是不可以重復的,他在判斷key是否重復的時候就判斷了hashcode這個方法,而且也用到了equals方法,這里說的不重復是說hashcode和equals只要有一個不等就可以了.所以簡單來說,hashcode相當于一個對象的編碼,就好像文件中的md5,他和equals不同就在于他返回的是int型的,比較起來不直觀,我們一般重寫equals的同時也重寫hashcode,讓他們邏輯一致
9、java中多態的機制是什么
靠的是父類或接口定義的引用變量可以指向子類或具體實現類的實例對象,而程序調用的方法在運行時才動態綁定,引用變量所指向的具體實例對象的方法,也就是內存里正在運行的那個對象的方法,而不是引用變量類型中定義的方法.
10、接口和抽象類的區別
11、jdk中哪些類是不能被繼承的
被final修飾的類是不能被繼承的
八大基本數據類型包裝類和string等
12、final, finally, finalize的區別
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
原文鏈接:http://www.jianshu.com/p/782083b9320c