1. 程式人生 > >java學習路線__面向物件__類與物件__2

java學習路線__面向物件__類與物件__2

類與物件

一:類與物件基本定義

  • 類:類是一個模板,它描述一類物件的行為和狀態。
  • 物件:物件是類的一個例項(物件不是找個女朋友),有狀態和行為。例如,一條狗是一個物件,它的狀態有:顏色、名字、品種;行為有:搖尾巴、叫、吃等。

二:類與物件例項化

宣告並例項化物件有兩種辦法:

1.類名稱 物件名稱 = new 類名稱 ();

2.宣告物件  類名稱 物件名稱 = null ;
  例項化物件  物件名稱 = new 類名稱 ();
  new 給物件分配記憶體

備註:所有的物件只有例項化之後才可以使用。物件.屬性  /  物件.方法

三:物件記憶體分析

堆記憶體空間: 儲存真正的資料(物件的屬性資訊,)

棧記憶體空間: 儲存的堆記憶體的地址  /  即堆記憶體的操作所有權  /  用來儲存操作物件的名稱

棧記憶體只能儲存一個地址

物件,所有的引用資料型別(陣列,類,介面)必須例項化開闢空間才可以使用

報錯關鍵字:NullPointerException(沒有例項化就使用物件)

四:引用傳遞初次分析

一塊堆記憶體可以被多個棧記憶體所指向。例如:張三的小名叫狗剩,張三的手機被老師收走了,那麼狗剩的手機也沒有了。

所謂的垃圾空間就是沒有任何的棧記憶體所指向的堆記憶體。垃圾記憶體多了就會影響系統的效能。
在java中有gc;垃圾回收機制。雖然有gc的強大回收機制,但是gc也會導致程式的效能下降,在開發設計中要注意合理的設定記憶體。

 五:private實現封裝處理

1.類的組成:

  • 屬性(新建物件就存在的)
  • 構造方法(建立物件只能執行一次構造方法,之後不能再使用)

  • 普通方法(建立物件之後可多次呼叫)

2.屬性:讓類的外部不能直接修改物件的屬性  可以使用private來實現類的封裝,封裝的類外部不能直接修還屬性, 需要使用set()和get()方法。

類的設計原則:類中的所有屬性都是用private封裝   私有屬性需要被外部呼叫要有相應的set()和get()方法。

3.構造方法:任何物件都應該有與之對應的類,類要例項化物件時要提供構造方法。

1.構造方法與類名稱相同

2.沒有返回值型別宣告(包括void)

3.至少存在一個構造方法 (當有了有參建構函式之後,如若不寫無引數建構函式,系統不預設補全,需要手動補上無參建構函式

有引數構造方法可以預設物件的屬性  不代表set函式沒有作用了,set除了設定屬性內容更重要的是修改屬性內容。

4.普通方法:寫普通方法,要符合切實實際,針對類的行為編寫,一般短小精悍,一個方法寫了百八十行絕對是方法的設計有問題了。

5.編寫類中內容的順序:寫屬性 寫構造方法 寫普通方法(包括set()和get()方法)

6.補充:為了使用方便 有時候會使用匿名物件 匿名物件使用之後因為沒有任何棧空間的指向使用之後便成了垃圾空間。

new 類名();//匿名物件沒有物件名,無法找到與之對應的棧空間,使用完成後變成了垃圾空間,具體使用學生還沒用過

六:簡單Java類

編寫類時:

1.類名要能夠明確表示該類的特性,直白簡單。

2.所有的屬性都要設定成priva, 所有的屬性都應該有set()和get()方法。

3.類必須要有建構函式 ,無引數函式,有引數函式。

4.類中的返回不能使用out函式 , 最好有返回值。

web開發  分散式開發 到處都是簡單java類 這是很重要的基礎技能 。

記錄時間:(2017年04月06日 12:01  類和物件很重要,要重視面向物件的類與物件的理解 )