1. 類是一種 抽象 的概念,對象是類的一種具體表示形式,是 具體 的概念。先有類,然後由類來生成對象( Object)。對象又叫做實例( Instance )。
2. 類由兩大部分構成:屬性以及方法。屬性一般用名詞來表示,方法一般用動詞來表示。
3. 如果一個 java 源文件中定義了多個類,那麼這些類中 最多隻能有一個類是 public 的 ,換句話說,定義的多個類可以都不是 public 的。
4. 在 Java 中進行方法的參數傳遞時,無論傳遞的是原生數據類型還是引用類型,參數傳遞方式統一是傳值( passby value )。
Java 中沒有傳引用( pass by reference )的概念。
5. 方法重載( Overload )。表示兩個或多個方法名字相同,但方法參數不 同。方 法 參數不同 有兩層 含 義: 1)參數 個數 不同。
2 )參數類型不同。 注 意 :方 法的返 回值 對重 載沒 有任何影響。
6. 構造方法重載: 只需看參數即可。 如果想在一個構造方法中調用另外一個構造方法,那麼可以使用 this() 的方式調用, this() 括號中的參數表示目標構造方法的參數。 this() 必須要作爲構造方法的第一條語句,換句話說, this()之前不能有任何可執行的代碼。
7. 繼承( Inheritence ): Java 是單繼承的,意味着一個類只能從另一個 類繼承(被繼承的類叫做父類【基類,base class 】, 繼承的類叫做子類), Java 中的繼承使用 extends 關鍵字。
8. 當生成子類對象時, Java 默認首先調用父類的不帶參數的構造方法, 然後 執行 該 構造方 法, 生成 父 類的對 象。 接下 來 ,再去調用子類的構造方法,生成子類的對象。【要想生成子類的對象, 首先 需要 生 成父類 的對 象, 沒 有父類 對象 就沒 有子類對象。比如說:沒有父親,就沒有孩子】。
9. super 關鍵字: super 表示對父類對象的引用。
10. 如果子類使用 super() 顯式調用父類的某個構造方法,那麼在執行的時候就會尋找與 super() 所對應的構造方法而不會再去尋找父類的不帶參數的構造方法。與 this 一樣, super 也必須要作爲 構造 方法 的 第一條 執行 語句, 前面不 能有 其他 可 執行語句。
11. 關於繼承的 3 點:
a) 父類有的,子類也有
b) 父類沒有的,子類可以增加
c) 父類有的,子類可以改變
12. 關於繼承的注意事項
a) 構造方法不能被繼承
b) 方法和屬性可以被繼承
c) 子類的構造方法隱式地調用父類的不帶參數的構造方法
d) 當父類沒有不帶參數的構造方法時,子類需要使用 super 來顯式地調用父類的構造方法, super 指的是對父類的引用
e) super 關鍵字必須是構造方法中的第一行語句。
13. 方法重寫( Override ):又叫做覆寫,子類與父類的方法返回類型一 樣、 方法 名 稱一樣 ,參 數一 樣 ,這樣 我們 說子 類 與父類的方法構成了重寫關係。
14. 方法重寫與方法重載之間的關係:重載發生在同一個類內部的兩個或多個方法。重寫發生在父類與子類之間。
15. 當 兩 個 方 法 形 成 重 寫 關 系 時 , 可 以 在 子 類 方 法 中 通 過super.run() 形式調用父類的 run()方法,其中 super.run() 不必放在第一 行語 句, 因 此此時 父類 對象 已 經構造 完 畢 ,先 調 用父類的 run()方法還是先調用子類的 run() 方法是根據程序的邏輯決定的。
16. 在定義一個類的時候,如果沒有顯式指定該類的父類,那麼該類就會繼承於 java.lang.Object 類( JDK 提供的一個類, Object類是 Java 中所有類的直接或間接父類)。
17. 多態( Polymorphism ):我們說子類就是父類(玫瑰是花,男人是人),因此 多態的意思就是:父類型的引用可以指向子類的對象。