JAVA SE Lesson 1
1. 類是一種抽象的概念,對象是類的一種具體表示形式,是具
體的概念。先有類,然後由類來生成對象(Object )。對象又
叫做實例(Instance)。
2. 類由兩大部分構成:屬性以及方法。屬性一般用名詞來表示,
方法一般用動詞來表示。
3. 如果一個java 源文件中定義瞭多個類,那麼這些類中最多隻
能有一個類是public 的,換句話說,定義的多個類可以都不
是public 的。
4. 在Java 中進行方法的參數傳遞時,無論傳遞的是原生數據類
型還是引用類型,參數傳遞方式統一是傳值(pass by 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):我們說子類就是父類(玫瑰是花,男
人是人),因此多態的意思就是:父類型的引用可以指向子類
的對象。