Java 知識點整理-2.面向物件
阿新 • • 發佈:2018-11-09
1、面向物件思想特點:是一種更符合我們思想習慣的思想;可以將複雜的事情簡單化;將我們從執行者變成了指揮者(角色發生了轉換)。
2、面向物件開發,就是不斷的建立物件,使用物件,指揮物件做事情。
3、面向物件設計,其實就是在管理和維護物件之間的關係。
4、面向物件特徵:封裝(encapsulation);繼承(inheritance);多型(polymorphism) 。
5、描述現實世界事物:屬性 就是該事物的描述資訊(事物身上的名詞);行為 就是該事物能夠做什麼(事物身上的動詞) 。
6、Java中最基本的單位是類,Java中用class描述事物也是如此。成員變數 就是事物的屬性;成員方法 就是事物的行為 。
7、定義類其實就是定義類的成員(成員變數和成員方法):成員變數 和以前定義變數是一樣的,只不過位置發生了改變。在類中,方法外;成員方法 和以前定義方法是一樣的,只不過把static去掉 。
8、類和物件的概念:類 是一組相關的屬性和行為的集合;物件:是該類事物的具體體現。
9、如何使用物件?建立物件並使用。格式:類名 物件名 = new 類名();
10、如何使用成員變數呢?物件名.變數名
11、如何使用成員方法呢?物件名.方法名(...)
12、如果沒有任何引用指向該物件,那麼該物件就會變成垃圾。java中有完備的垃圾回收機制,會在不定時對其進行回收。
13、引用資料型別當形式引數傳地址值,基本資料型別當形式引數傳值。
14、匿名物件只適合對方法的一次呼叫,因為呼叫多次就會產生多個物件,不如用有名字的物件。
15、 匿名物件可以呼叫屬性,但是沒有意義,因為呼叫後就變成垃圾。如果需要呼叫還是用有名字物件。
16、匿名物件是沒有名字的物件 ,呼叫方法僅呼叫一次時可以節省程式碼;呼叫多次時匿名物件呼叫完畢就是垃圾,會被垃圾回收器回收。
17、匿名物件可以作為實際引數傳遞。
18、封裝是指隱藏物件的屬性和實現細節,僅對外提供公共訪問方式。
19、封裝好處:隱藏實現細節,提供公共的訪問方式; 提高了程式碼的複用性;提高安全性。
20、封裝原則:將不需要對外提供的內容都隱藏起來;把屬性隱藏,提供公共方法對其訪問。
21、private關鍵字特點:是一個許可權修飾符;可以修飾成員變數和成員方法;被其修飾的成員只能在本類中被訪問。
22、封裝和private的應用:把成員變數用private修飾;提供對應的getXxx()和setXxx()方法。
23、private僅僅是封裝的一種體現形式,不能說封裝就是私有。
24、this關鍵字特點:代表當前物件的引用 ,用來區分成員變數和區域性變數重名。
25、 構造方法Constructor概述和作用:給物件的資料(屬性)進行初始化。
26、構造方法格式特點:方法名與類名相同(大小也要與類名一致);沒有返回值型別,連void都沒有;沒有具體的返回值return。
27、構造方法不能用物件呼叫;在一建立物件的時候,系統就幫使用者呼叫了構造方法;建立物件時後面加個小括號,目的就是為了呼叫構造方法;構造方法裡什麼也不寫,也是有return語句的,格式是return;。
28、構造方法的過載::方法名相同,與返回值型別無關(構造方法沒有返回值),只看引數列表。
29、如果我們沒有給出構造方法,系統將自動提供一個無參構造方法;如果我們給出了構造方法,系統將不再提供預設的無參構造方法。這個時候,如果我們還想使用無參構造方法,就必須自己給出。建議永遠自己給出無參構造方法。
30、給成員變數賦值的兩種方式的區別:setXxx()方法:修改屬性值 ;構造方法:給物件中屬性進行初始化。在開發中用setXxx更多一些,因為比較靈活,getXxx()獲取屬性值,可以列印,也可以賦值給其他變數,做其他操作。
31、
public void setXxx(int xxx){
this.xxx = xxx;
}
public int getXxx(){
return xxx;
}