Java基礎易錯概念性問題

1.面向對象都有哪些特性以及你對這些特性的理解?java

封裝,集成,多態mysql

2.& 和 && 的區別
&&有短路效果,提升代碼效率面試

  1. 在 Java 中,如何跳出當前的多重嵌套循環
    標號跳出指定循環,retuet結束min方法,countinue後面的將不在執行
    4.兩個對象值相同 (x.equals(y) == true) ,但卻可有不一樣的hashCode,這句話對不對?
    內容相等hash值必定相等,hash值相等對象不必定相等,例如:通話,重地
    5.是否能夠繼承String
    String被final修飾,不能夠被繼承 final修飾的變量會成常量不能被修改,修飾變量不能夠修地址值,能夠改值,方法不能重寫,類不能繼承
    6.當一個對象被看成參數傳遞到一個方法後,此方法可改變這個對象的屬性,並可返回變化後的結果,那麼這裏究竟是值傳遞仍是引用傳遞?
    引用數據,修改爲員變量;基本數據,修改的是局部變量
    7.重載(overload)和重寫(override)的區別?重載的方法可否根據返回類型進行區分?
    同一類中,方法名相同,參數不一樣,個數不一樣,類型不一樣,順序不一樣,沒有返回值重載
    重寫:繼承或者實現,父類方法知足不了子類要求,體系中子類出現和父類出現了同樣的方法聲明(方法名,參數列表,返回值類型)
    重載:同一類中,方法名相同,參數列表不一樣,與返回值無關

8.char 型變量中能不能存儲一箇中文漢字,爲何?
能夠,有且僅有一個字符,char佔兩個字節,一個漢字也是
9.抽象類(abstract class)和接口(interface)有什麼異同?
相同:
均可以寫抽象方法,.不能實例化類不能多實現,.,抽象類被繼承,接口被實現,都要重寫抽象方法
不一樣:
抽象類:
是一個類,使用關鍵字 abstract
抽象類裏面能夠寫非抽象方法
只能單繼承或者多層繼承
接口:
用interface修飾
練出了抽象還有默認方法
能夠多實現
10.抽 象 的 (abstract) 方 法 是 否 可 同 時 是 靜 態 的 (static), 是 否 可 同 時 是 本 地 方 法(native)
不能夠,會衝突;
11.闡述靜態變量和實例變量的區別算法

在語法定義上的區別:spring

靜態變量前要加static關鍵字,而實例變量前則不加。
在程序運行時的區別:sql

實例變量屬於某個對象的屬性,必須建立了實例對象,其中的實例變量纔會被分配空間,才能使用這個實例變量。靜態變量不屬於某個實例對象,而是屬於類,因此也稱爲類變量,只要程序加載了類的字節碼,不用建立任何實例對象,靜態變量就會被分配空間,靜態變量就能夠被使用了。總之,實例變量必須建立對象後才能夠經過這個對象來使用,靜態變量則能夠直接使用類名來引用。數組

  1. ==和 equals hashCode 的區別?
    基本數據類型:
    ==比較的是內容
    引用數據類型:
    ==比的是地址值,equals默認比地址值,重寫按照規則比較,hashCode
  2. break 和 continue 的區別?
    跳出本循環,跳事後面的代碼,繼續循環
    14.String s = "Hello";s = s + " world!";這兩行代碼執行後,原始的 String 對象中的內容到底變了沒有?
    字符串不可變,它們的值在建立後不能被更改
    經過構造方法建立
    經過 new 建立的字符串對象,每一次 new 都會申請一個內存空間,雖然內容相同,可是地址值不一樣
    直接賦值方式建立
    以雙引號方式給出的字符串,只要字符序列相同(順序和大小寫),不管在程序代碼中出現幾回,JVM 都只會創建一個 String 對象,並在字符串池中維護
    15.Java 中實現多態的機制是什麼?
    父類對象指向子類引用
    16.Java 中異常分爲哪些種類
    編譯,運行
    17.error 和 exception 的區別?
    錯誤虛擬機
    異常能夠捕獲處理
    18,throw 和 throws 的區別
    拋出
    聲明
    19,final、finally 的區別?
    final:最終的 不可被改變,類不可有子類,變量變常量,引用類型不能夠改變地址
    finally:出不出錯都運行,用於關閉流,關閉資源
    20,Math.round(11.5)等於多少?Math.round(- 11.5) 又等於多少?
    12,正數四捨五入
    -11負數四捨五入向上

21,數組有沒有 length() 方法?String 有沒有 length() 方法
數組有length屬性沒有方法
string有方法
集合有size方法
22,String 、 StringBuilder 、 StringBuffer 的區別?
String:內容是不可變的
StringBuilder:內容可變,線程不安全
StringBuffer:內容可變,線程安全
23,什麼狀況下用「+」運算符進行字符串鏈接比調用 StringBuffer/StringBuilder對象的 append 方法鏈接字符串性能更好?
在java中不管使用何種方法進行字符串拼接,底層都是StringBuilder,因此是同樣的
image
最新2020整理收集的一些高頻面試題(都整理成文檔),有不少乾貨,包含mysql,netty,spring,線程,spring cloud、jvm、源碼、算法等詳細講解,也有詳細的學習規劃圖,面試題整理等,須要獲取這些內容的朋友請加Q君樣:909038429
/./*歡迎加入java交流Q君樣:909038429一塊兒吹水聊天安全

相關文章
相關標籤/搜索