更新時間:2020-10-30 16:13:10 來源:動力節點 瀏覽2226次
Java的知識點其實非常多,并且有些知識點比較難以理解,有時候我們自以為理解了某些內容,其實可能只是停留在表面上,沒有理解其底層實現原理。
紙上得來終覺淺,絕知此事要躬行。筆者之前對每部分的內容對做了比較深入的學習以及代碼實現,基本上比較全面地講述了每一個Java基礎知識點,當然可能有些遺漏和錯誤,歡迎讀者指正。
這里把重要的面試知識點都寫出來了,讓大家對知識框架有個基本輪廓。
Java基礎學習總結
每部分內容會重點寫一些常見知識點,方便復習和記憶,但是并不是全部內容,詳細的內容請參見具體的文章地址。
面向對象三大特性
繼承:一般類只能單繼承,內部類實現多繼承,接口可以多繼承封裝:訪問權限控制public>protected>包>private內部類也是一種封裝多態:編譯時多態,體現在向上轉型和向下轉型,通過引用類型判斷調用哪個方法(靜態分派)。運行時多態,體現在同名函數通過不同參數實現多種方法(動態分派)。
基本數據類型
1基本類型位數,自動裝箱,常量池2例如byte類型是1byte也就是8位,可以表示的數字是-128到127,因為還有一個0,加起來一共是256,也就是2的八次方。32位和64位機器的int是4個字節也就是32位,char是1個字節就是8位,float是4個字節,double是8個字節,long是8個字節。3基本數據類型的包裝類只在數字范圍-128到127中用到常量池,會自動拆箱裝箱,其余數字范圍的包裝類則會新建實例
String及包裝類
1 String類型是final類型,在堆中分配空間后內存地址不可變。2底層是final修飾的char[]數組,數組的內存地址同樣不可變。但實際上可以通過修改char[n]='a'來進行修改,不會改變String實例的內存值,不過在jdk中,用戶無法直接獲取char[],也沒有方法能操作該數組。所以String類型的不可變實際上也是理論上的不可變。所以我們在分配String對象以后,如果將其="abc",那也只是改變了引用的指向,實際上沒有改變原來的對象。3 StringBuffer和StringBuilder底層是可變的char[]數組,繼承父類AbstractStringBuilder的各種成員和方法,實際上的操作都是由父類方法來完成的。
final關鍵字
1 final修飾基本數據類型保證不可變2 final修飾引用保證引用不能指向別的對象,否則會報錯。3 final修飾類,類的實例分配空間后地址不可變,子類不能重寫所有父類方法。因此在cglib動態代理中,不能為一個類的final修飾的函數做代理,因為cglib要將被代理的類設置為父類,然后再生成字節碼。final修飾方法,子類不能重寫該方法。
抽象類和接口
1抽象類可以有方法實現。抽象類可以有非final成員變量。抽象方法要用abstract修飾。抽象類可以有構造方法,但是只能由子類進行實例化。2接口可以用extends加多個接口實現多繼承。接口只能有public final類型的成員變量。接口只能有抽象方法,不能有方法體、接口不能實例化,但是可以作為引用類型。
這里在給大家提供幾個Java精華視頻教程,幫助正在學習或者復習的朋友,更能快速掌握:
Java免費視頻教程:http://m.dabaquan.cn/javavideo.html
以上就是動力節點java培訓機構的小編針對“Java精華視頻教程,免費下載學習”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習