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):我們說子類就是父類(玫瑰是花,男 |
人是人),因此多態的意思就是:父類型的引用可以指向子類 |
的對象。 |
|
|
|
|
|
|
|