23.面向對象都有哪些特性以及你對這些特性的理解?java
封裝,集成,多態數組
22.& 和 && 的區別
&&有短路效果,提升代碼效率
21. 在 Java 中,如何跳出當前的多重嵌套循環
標號跳出指定循環,retuet結束min方法,countinue後面的將不在執行
20.兩個對象值相同 (x.equals(y) == true) ,但卻可有不一樣的hashCode,這句話對不對?
內容相等hash值必定相等,hash值相等對象不必定相等,例如:通話,重地
19.是否能夠繼承String
String被final修飾,不能夠被繼承 final修飾的變量會成常量不能被修改,修飾變量不能夠修地址值,能夠改值,方法不能重寫,類不能繼承
18.當一個對象被看成參數傳遞到一個方法後,此方法可改變這個對象的屬性,並可返回變化後的結果,那麼這裏究竟是值傳遞仍是引用傳遞?
引用數據,修改爲員變量;基本數據,修改的是局部變量
17.重載(overload)和重寫(override)的區別?重載的方法可否根據返回類型進行區分?
同一類中,方法名相同,參數不一樣,個數不一樣,類型不一樣,順序不一樣,沒有返回值重載
重寫:繼承或者實現,父類方法知足不了子類要求,體系中子類出現和父類出現了同樣的方法聲明(方法名,參數列表,返回值類型)
重載:同一類中,方法名相同,參數列表不一樣,與返回值無關安全
16.char 型變量中能不能存儲一箇中文漢字,爲何?
能夠,有且僅有一個字符,char佔兩個字節,一個漢字也是
15.抽象類(abstract class)和接口(interface)有什麼異同?
相同:
均可以寫抽象方法,.不能實例化類不能多實現,.,抽象類被繼承,接口被實現,都要重寫抽象方法
不一樣:
抽象類:
是一個類,使用關鍵字 abstract
抽象類裏面能夠寫非抽象方法
只能單繼承或者多層繼承
接口:
用interface修飾
練出了抽象還有默認方法
能夠多實現
14.抽 象 的 (abstract) 方 法 是 否 可 同 時 是 靜 態 的 (static), 是 否 可 同 時 是 本 地 方 法(native)
不能夠,會衝突;
13.闡述靜態變量和實例變量的區別app
在語法定義上的區別:ide
靜態變量前要加static關鍵字,而實例變量前則不加。
在程序運行時的區別:性能
實例變量屬於某個對象的屬性,必須建立了實例對象,其中的實例變量纔會被分配空間,才能使用這個實例變量。靜態變量不屬於某個實例對象,而是屬於類,因此也稱爲類變量,只要程序加載了類的字節碼,不用建立任何實例對象,靜態變量就會被分配空間,靜態變量就能夠被使用了。總之,實例變量必須建立對象後才能夠經過這個對象來使用,靜態變量則能夠直接使用類名來引用。ui
12. ==和 equals hashCode 的區別?
基本數據類型:
==比較的是內容
引用數據類型:
==比的是地址值,equals默認比地址值,重寫按照規則比較,hashCode
11. break 和 continue 的區別?
跳出本循環,跳事後面的代碼,繼續循環
10.String s = "Hello";s = s + " world!";這兩行代碼執行後,原始的 String 對象中的內容到底變了沒有?
字符串不可變,它們的值在建立後不能被更改
經過構造方法建立
經過 new 建立的字符串對象,每一次 new 都會申請一個內存空間,雖然內容相同,可是地址值不一樣
直接賦值方式建立
以雙引號方式給出的字符串,只要字符序列相同(順序和大小寫),不管在程序代碼中出現幾回,JVM 都只會創建一個 String 對象,並在字符串池中維護
9.Java 中實現多態的機制是什麼?
父類對象指向子類引用
8.Java 中異常分爲哪些種類
編譯,運行
7.error 和 exception 的區別?
錯誤虛擬機
異常能夠捕獲處理
6,throw 和 throws 的區別
拋出
聲明
5,final、finally 的區別?
final:最終的 不可被改變,類不可有子類,變量變常量,引用類型不能夠改變地址
finally:出不出錯都運行,用於關閉流,關閉資源
4,Math.round(11.5)等於多少?Math.round(- 11.5) 又等於多少?
12,正數四捨五入
-11負數四捨五入向上
3,數組有沒有 length() 方法?String 有沒有 length() 方法
數組有length屬性沒有方法
string有方法
集合有size方法
2,String 、 StringBuilder 、 StringBuffer 的區別?
String:內容是不可變的
StringBuilder:內容可變,線程不安全
StringBuffer:內容可變,線程安全
spa
1,什麼狀況下用「+」運算符進行字符串鏈接比調用 StringBuffer/StringBuilder對象的 append 方法鏈接字符串性能更好?
在java中不管使用何種方法進行字符串拼接,底層都是StringBuilder,因此是同樣的線程