首頁  >  文章  >  Java  >  Java 基礎入門隨筆(7) JavaSE版-物件導向定義、特性:封裝、建構函數

Java 基礎入門隨筆(7) JavaSE版-物件導向定義、特性:封裝、建構函數

黄舟
黄舟原創
2016-12-22 13:06:261472瀏覽

面向對象

面向過程:對於面向過程思想,強調的是過程(動作)。

面向對象:對於物件導向思想,強調的是對象(實體)。

特徵:

1,物件導向就是一種常見的思想。符合人們的思考習慣。
2,物件導向的出現,將複雜的問題簡化。
3,物件導向的出現,讓曾經在過程中的執行者,變成了物件中的指揮者。

 

類與物件:

java語言對現實生活中的事物進行描述,透過類別的形式來體現的。

對於事物描述通常只關注兩方面:一個是屬性,一個是行為。

只要明確該事物的屬性和行為並定義在類別中即可。

類:事物的描述。
物件:該類別事物的實例。在java中透過new來創建的。

定義類別其實就是在定義類別中的成員。
成員:成員變數屬性,成員函數行為。

 

成員變數和局部變數的差異:

1,成員變數定義在類別中,整個類別中都可以存取。
    局部變數定義在函數,語句,局部程式碼區塊中,只在所屬的區域有效。

2,成員變數存在於堆記憶體的物件中。
     局部變數存在於堆疊記憶體的方法。

3,成員變數隨著物件的創建而存在,隨著物件的消失而消失。
     局部變數隨著所屬區域的執行而存在,隨著所屬區域的結束而釋放。

4,成員變數都有預設初始化值。
     局部變數沒有預設初始化值。

 

匿名物件

匿名物件:沒有名字的物件 ,例如new Car(); 其實就是定義物件的簡寫格式。
匿名物件使用時需注意點:

1,當物件對方法僅進行一次呼叫的時候,就可以簡化成匿名物件。

2,匿名物件可以作為實際參數傳遞。 例如show(new Car());

物件導向的特徵一:封裝

封裝:是指隱藏物件的屬性和實作細節,僅對外提供公共存取方式。

好處:

          將變更隔離。

          使用。

          提高重複使用性。

          提升安全性。

封裝原則:

        將不需要對外提供的內容都隱藏起來。

        將屬性都隱藏,並提供公共方法進行存取。

 

private:私有,是一種權限修飾符,用於成員變量,不可用於局部變數。

             私有的內容在本類別中只有效。

注意:私有僅僅只是封裝的一種體現而已,不私有也能完成封裝。

建構子

建構子:建構創造物件時所呼叫的函數,作用:可以給物件初始化。

註:一個類別中如果沒有定義過建構函數,那麼該類別中會有一個預設的空參數建構函數;如果在類別中定義了指定的建構函數,那麼類別中的預設建構函數就沒有了。

一般函數與建構函數的區別:

建構子:物件建立時,就會呼叫與之對應的建構函數,對物件進行初始化,會呼叫且只呼叫一次。

一般函數:物件建立後,需要該函數功能時才調用,可以被調用多次。

 

構造函數重載

什麼時候定義構造函數呢?

在描述事物時,該事物一存在就具備的一些內容,這些內容都定義在建構函數中。

特色:

          1.函數名稱與類別名稱相同。

          2.並未定義回傳值類型。

          3.沒有特定的回傳值。

作用:

         給予物件初始化。

注意:

         1.預設建構子的特性。

         2.多重建構函數是以重載的形式存在的。 (重載時注意函數名稱一致,且對應位置上的參數型別不同為重載)

 

構造函數需要注意的細節:

1.構造函數只在初始化呼叫一次,一般函數可重複重複呼叫一次調用。

2.建構函式中可以包含一般函數,而一般函數不能直接呼叫建構函數,只有在一般函數中建立物件才能呼叫。

3.建構子沒有回傳型別,一般命名與類別名稱一致為大寫。

4.創建物件只能在現有建構子格式中創建,預設建構子是指沒有定義建構子的情況。

5.建構函式中可以包含return,作為函數的結束的,一般情況下不需要。

 以上就是Java 基礎入門隨筆(7) JavaSE版的內容,更多相關內容請關注PHP中文網(www.php.cn)!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn