Java SE基礎鞏固

1.當參數和成員命名相同時用this關鍵字,this是對他所成方法所屬對象的引用;java

2.構造代碼塊:設計模式

  特色:對象一創建就運行,且優先於構造方法的執行數組

  做用:用於給對象進行初始化安全

  和構造方法的區別:構造方法是對對應對象進行初始化,構造代碼塊是定義不一樣對象共性的初始化內容函數

3.構造方法之間的調用:只能經過this語句來完成,且只能寫在第一行,一個構造方法只可導入一個構造方法工具

4.static修飾符(又稱靜態變量,靜態成員,類變量):用於修飾成員變量和成員方法,位於內存中的data segment(數據區或共享區)。而實例對象爲不是static的變量,存放在對象裏測試

  特色:修飾後的成員變量只有一份;this

     當成員被static修飾以後,多了一種訪問方式,即類名直接調用;spa

     隨着類名的加載而加載,優先於對象,且被全部對象共享設計

5.靜態方法注意事項:1.靜態方法只能訪問靜態成員;

          2.靜態成員能夠被非靜態方法訪問;

          3.局部變量不可被static修飾

          4.靜態方法中不可定義this,super關鍵字,由於靜態優先於對象存在

  什麼時候使用靜態方法?當功能內部未訪問非靜態成員時,那麼該功能能夠定義成靜態的

6.生命週期:類變量生命週期最長,隨着類消失而消失

      實例變量生命週期最短,隨着對象消失而消失

7.主函數

    1.public表明該類或該函數訪問權限是最大的

    2.static表明主函數隨着類的加載就已經存在了

    3.void表明無具體返回值

    4.main不是java的關鍵字,他是一個特殊單詞,變量不可用關鍵字,可以被JVM所識別

    5.String[] args函數的參數類型是一個字符串類型數組,當數組爲空時,沒有零下標

8.靜態應用工具類

  每個應用程序都有共性的功能,可將這些功能進行抽取,進行封裝,以備複用

9.對象的做用:用來封裝數據,只要類裏有非靜態的成員時,那對象就必須存在

10.classpath:主要是在執行時使用: set classpath=...  

                set classpath=.  (單個.表示當前目錄)

                set classpath=.;...(表示.和...兩個目錄均可以)

11.文檔註釋相關,文檔提取工具javadoc.exe javadoc -d Mydoc(沒有Mydoc會自動建立) -author -version ***.java 保證類是public的

/**

@param 表示傳入

@return 表示返回

@author表示做者

@version表示版本

*/

12.靜態代碼塊(區別於構造代碼塊)

  static 靜態代碼中的執行語句

  特色:隨着類的加載而執行,而且只會執行一次,而且還會優先於主函數

  做用:用於給類進行初始化

13.new一個對象的內存操做步驟

   1.new 。。。會把類從硬盤上加載入內存;

   2.若有static靜態代碼塊,會隨着類的加載而加載,同理靜態成員和普通方法也是同樣

   3.在堆內存中開闢空間,分配內存地址;

   4.在堆中創建特有屬性,並同時對特有屬性進行默認的初始化

   5.對屬性進行顯示初始化

   6.執行構造代碼塊,對全部對象初始化

   7.執行構造函數,對對象進行初始化

   8.將內存地址給棧中的變量

14.設計模式:針對此類問題最有效的解決方法,java23種設計模式,單例設計模式,只有一個對象

15.繼承:1.提升了代碼的複用性,簡化了代碼

     2.讓類與類之間產生了繼承關係,纔有了後面的多態特性的存在

     3.注意:千萬不要爲了獲取其它類的功能簡化代碼而創建繼承關係,必須類與類之間存在繼承關係,

    父類又稱爲超類,基類 繼承關係:is a 子類擁有父類的成員,但不包括被private修飾的

     4.多層繼承,最下層子類擁有整個繼承體系的成員,最上層父類擁有全部繼承描述

     5.java中不存在多繼承,由於多繼承存在安全隱患,當多個父類定義了相同的成員,子類對象沒法肯定運行哪個,接口能夠實現

     6.訪問當前對象子類成員用this,this.變量時,首先在本類中找須要的變量,若是沒有再去父類中找,訪問當前對象父類成員用super

     7.函數的重寫(覆蓋)注意::必須保證子類的權限》=父類纔可覆蓋,不然編譯出錯;靜態的函數只能覆蓋靜態的函數;要保證子父類方法徹底同樣(包括參數)

     8.權限修飾符,public,default(未加修飾符時默認),private,權限依次下降

       9.構造函數在子父類中的特色:構造方法沒法被重寫,每一個子類構造方法會有第一條隱式的super(),調用父類的無參數構造方法,也可給參數調用有參構造方法

16.對象轉型:

  1.對象的向上轉型,子類轉成父類

  2.對象的向下轉型,父類轉成子類須要強制進行

  3.關鍵字:instanceof測試左邊的對象是不是右邊類的實例,若是是則返回true,不是則返回false(a instanceof b)

17.多態

  體現:父類引用指向子類對象

  前提:必須得類與類之間存在關係,能夠是繼承關係或實現關係

     必須有重寫

  多態成員變量的特色:編譯期間:參閱的是引用型變量所屬的類中是否有調用的方法;運行期間,參閱對象所屬的類中是否有調用的方法

  好處:大大提升了程序的可擴展性

  弊端:只能用父類的引用訪問到父類中的成員

18.匿名對象:1.當對對象的方法只調用一次時可以使用來簡化;2.匿名對象能夠被當作實參來傳遞

19.object類是java中全部對象的直接或間接父類,「==」和object裏面的equals都是比較兩對象的內存地址是否一致

20.final能夠修飾類函數及變量(成員,局部),被final修飾過的類不能夠被其餘類繼承,被final。。。的函數不可被重寫;。。。的變量不容許再次被賦值,因此被final修飾過的變量被稱爲常量,變量名大寫

相關文章
相關標籤/搜索