JAVA知識點自學筆記

學習廖雪峯java知識點筆記,原文鏈接廖雪峯JAVA教程

  1. 我們需要先用javac把Hello.java編譯成字節碼文件Hello.class,然後,用java命令執行這個字節碼文件

  2. 一個Java源碼只能定義一個public類型的class,並且class名稱和文件名要完全一致。

  3. Fina 修飾的爲常量,常量名通常全部大寫。
    使用var定義變量,可以少寫變量類型。

  4. Java提供了兩種變量類型:基本類型和引用類型
    基本類型包括整型,浮點型,布爾型,字符型。
    基本類型參數的傳遞,是調用方值的複製。雙方各自的後續修改,互不影響。
    引用類型參數的傳遞,調用方的變量,和接收方的參數變量,指向的是同一個對象。雙方任意一方對這個對象的修改,都會影響對方(因爲指向同一個對象嘛)。

  5. 使用Arrays.toString()可以快速獲取數組內容。

  6. 命令行參數類型是String[]數組。
    可變參數用類型…定義,可變參數相當於數組類型。

  7. 方法名相同,但各自的參數不同,稱爲方法重載(Overload)。

  8. java使用關鍵字extends實現繼承。
    繼承有個特點,就是子類無法訪問父類的private字段或者private方法。
    用protected修飾的字段可以被子類訪問:

  9. 子類如果定義了一個與父類方法簽名完全相同的方法,被稱爲覆寫(Override)。加上@Override可以讓編譯器幫助檢查是否進行了正確的覆寫。

  10. 如果一個父類不允許子類對它的某個方法進行覆寫,可以把該方法標記爲final。如果一個類不希望任何其他類繼承自它,那麼可以把這個類本身標記爲final。

  11. 多態特性
    public void runTwice(Person p) {
    p.run();
    p.run();
    }
    實際在運行中的時候動態調用任何一種子類及其覆寫的方法。

  12. 關於抽象方法和抽象類:
    通過abstract定義的方法是抽象方法,它只有定義,沒有實現。抽象方法定義了子類必須實現的接口規範。

  13. 關於接口:
    使用interface可以聲明一個接口,就是比抽象類還要抽象的純抽象接口,因爲它連字段都不能有。在接口中,可以定義default方法。

  14. 一個類只能繼承自另一個類,不能從多個類繼承。但是,一個類可以實現多個interface

  15. 關於靜態字段和靜態方法:
    靜態字段只有一個共享“空間”,所有實例都會共享該字段。
    不推薦用 實例變量.靜態字段 去訪問靜態字段;推薦使用 類名.靜態字段 來訪問靜態對象。
    調用靜態方法則不需要實例變量,通過類名就可以調用。因爲靜態方法屬於class而不屬於實例,因此,靜態方法內部,無法訪問this變量,也無法訪問實例字段,它只能訪問靜態字段。

  16. Java內建的package機制是爲了避免class命名衝突;包沒有父子關係,com.apache和com.apache.abc是不同的包。

  17. JDK的核心類使用java.lang包,編譯器會自動導入;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章