對象與類
1.類是構造對象的模板或藍圖。由類構造對象的過程稱為建立類的執行個體。
2.封裝(資料隱藏)是與對象有關的一個重要概念。從形式上看是將資料與行為組合在一個包中,並對對象的使用者隱藏了資料的實現方式。
3.所有類的超類是object類。通過擴充一個類建立另外一個類的過程稱為繼承。
4.對象的三個主要特性:行為、狀態、標識(對象的唯一身份)。
5.在java中使用構造器構造對象。構造器應該與類名相同,並需要在構造器前加上new操作符,如:new Date( )。如果需要構造的對象可以多次使用,因此,需要將對象存放在一個變數中。
6.對象與物件變數之間區別:
Date deadline;定義了一個物件變數deadline,它可以引用Date類型的對象。但是,要認識到:變數deadline不是一個對象,實際上也沒有引用對象。因此不能將任何Date方法應用於這個變數上。必須首先初始設定變數dateline:
(1)deadline = new Date( );
(2)deadline = birthday ;
現在這兩個變數引用同一個對象。
註:一個對象並沒有實際包含一個對象,而僅僅引用一個對象。
7.在java中,任何物件變數的值都是對儲存在另外一個地方的一個對象的引用。new操作符的傳回值也是一個引用。
8.如果將一個方法應用於一個值為null的對象上,那麼會產生運行錯誤。
9.類通常包括類型屬於某個類類型的執行個體域。例如:private String name中name域是String類型對象。
10.構造器與類同名。在構造類的對象時,構造器會自動運行,以便將執行個體域初始化為所希望的狀態。
11.構造器總是伴隨著new操作符的執行被使用,而不能對一個已經存在的對象調用構造器來達到重新設定執行個體域的目的。
12.關於構造器的總結:
構造器與類同名;
每個類可以有一個以上的構造器;
構造器可以有0個、1個或多個參數;
構造器沒有傳回值;
構造器總是伴隨著new操作符一起調用。
13.所有java對象都是在堆中構造的,構造器總是伴隨著new操作符一起使用。
14.不要在構造器中定義與執行個體域重名的局部變數。
16.訪問器需要返回一個可變資料的拷貝,就應該使用clone。
17.靜態方法是一種不能物件導向實施操作的方法。也就是說沒有隱式的參數。
18.每一個類可以有一個main方法,這是一個常用於對類進行單元測試的技巧。
19.按值調用表示方法接收的是調用著提供的值。
按引用調用表示方法接收的是調用者提供的變數地址。
一個方法可以修改傳遞引用所對應的變數值,而不能修改傳遞值調用所對應的變數值。java程式設計語言總是採用按值調用(對象引用進行的是值傳遞)。
也就是說,方法得到的是所有參數值的一個拷貝,特別是,方法不能修改傳遞給它的任何參數變數的內容。
20.一個方法不能修改一個基礎資料型別 (Elementary Data Type)的參數。而對象引用作為參數就不同了,可以很容易的改變其值。
21.java中方法參數使用方式:
一個方法不能修改一個基礎資料型別 (Elementary Data Type)的參數(即數值型和布爾型);
一個方法可以改變一個對象參數的狀態;
一個方法不能讓對象參數引用一個新的對象。
22.如果多個方法有相同的名字、不同的參數,便產生了重載。編譯器通過用各個方法給出的參數類型與特定方法調用所使用的實值型別進行匹配來挑選相應的方法。
23.方法的簽名:方法名以及參數類型。
24.調用構造器的處理步驟:
(1)所有資料域被初始化為預設值(0,false,null);
(2)按照在類聲明中出現的次序,依次執行所有域初始化語句和初始化塊;
(3)如果構造器第一行調用了第二個構造器,則執行第二個構造器主體;
(4)執行這個構造器主體。
25. import語句是一種引用包含在包中的類的簡明描述。import語句應該位於源檔案的頂部(但位於package語句的後面)。
26.要想將一個類放入包中,就必須將包的名字放在源檔案的開頭,包中定義類的代碼之前。