Java學習(三)物件導向

來源:互聯網
上載者:User

標籤:成員   特點   學習   多個   指定位置   獨立   區別   規範   私人   

三:物件導向:★★★★★

特點:1:將複雜的事情簡單化。

2:物件導向將以前的過程中的執行者,變成了指揮者。

3:物件導向這種思想是符合現在人們思考習慣的一種思想。

 

過程和對象在我們的程式中是如何體現的呢?過程其實就是函數;對象是將函數等一些內容進行了封裝。

 

匿名對象使用情境

1當對方法只進行一次調用的時候,可以使用匿名對象。

2當對象對成員進行多次調用時,不能使用匿名對象。必須給對象起名字。

 

在類中定義其實都稱之為成員。成員有兩種:

1:成員變數:其實對應的就是事物的屬性。

2:成員函數:其實對應的就是事物的行為。

 

所以,其實定義類,就是在定義成員變數和成員函數。但是在定義前,必須先要對事物進行屬性和行為的分析,才可以用代碼來體現。

 

private int age;//私人的存取權限最低,只有在本類中的訪問有效。

注意:私人僅僅是封裝的一種體現形式而已。

 

私人的成員:其他類不能直接建立對象訪問,所以只有通過本類對外提供具體的訪問方式來完成對私人的訪問,可以通過對外提供函數的形式對其進行訪問。

好處:可以在函數中加入邏輯判斷等操作,對資料進行判斷等操作。

 

總結:開發時,記住,屬性是用於儲存資料的,直接被訪問,容易出現安全隱患,所以,類中的屬性通常被私人化,並對外提供公用的存取方法。

這個方法一般有兩個,規範寫法:對於屬性 xxx,可以使用setXXX(),getXXX()對其進行操作。

 

類中怎麼沒有定義主函數呢?

注意:主函數的存在,僅為該類是否需要獨立運行,如果不需要,主函數是不用定義的。

主函數的解釋:保證所在類的獨立運行,是程式的入口,被jvm調用。

 

成員變數和局部變數的區別:

1:成員變數直接定義在類中。

   局部變數定義在方法中,參數上,語句中。

2:成員變數在這個類中有效。

局部變數只在自己所屬的大括弧內有效,大括弧結束,局部變數失去範圍。

3:成員變數存在於堆記憶體中,隨著對象的產生而存在,消失而消失。

局部變數存在於棧記憶體中,隨著所屬地區的運行而存在,結束而釋放。

 

建構函式:用於給對象進行初始化,是給與之對應的對象進行初始化,它具有針對性,函數中的一種。

特點

1該函數的名稱和所在類的名稱相同。

2不需要定義傳回值類型。

3該函數沒有具體的傳回值。

記住:所有對象建立時,都需要初始化才可以使用。

 

注意事項:一個類在定義時,如果沒有定義過建構函式,那麼該類中會自動產生一個空參數的建構函式,為了方便該類建立對象,完成初始化。如果在類中自訂了建構函式,那麼預設的建構函式就沒有了。

 

一個類中,可以有多個建構函式,因為它們的函數名稱都相同,所以只能通過參數列表來區分。所以,一個類中如果出現多個建構函式。它們的存在是以重載體現的。

 

建構函式和一般函數有什麼區別呢?

1兩個函數定義格式不同。

2建構函式是在對象建立時,就被調用,用於初始化,而且初始化動作只執行一次。

    一般函數,是對象建立後,需要調用才執行,可以被調用多次。

  

什麼時候使用建構函式呢?

分析事物時,發現具體事物一出現,就具備了一些特徵,那就將這些特徵定義到建構函式內。

 

構造代碼塊和建構函式有什麼區別?

構造代碼塊:是給所有的對象進行初始化,也就是說,所有的對象都會調用一個代碼塊。只要對象一建立。就會調用這個代碼塊。

建構函式:是給與之對應的對象進行初始化。它具有針對性。

 

Person p = new Person();

建立一個對象都在記憶體中做了什麼事情?

1先將硬碟上指定位置的Person.class檔案載入進記憶體。

2執行main方法時,在棧記憶體中開闢了main方法的空間(壓棧-進棧),然後在main方法的棧區分配了一個變數p。

3在堆記憶體中開闢一個實體空間,分配了一個記憶體首地址值。new

4在該實體空間中進行屬性的空間分配,並進行了預設初始化。

5對空間中的屬性進行顯示初始化。

6進行實體的構造代碼塊初始化。

7調用該實體對應的建構函式,進行建構函式初始化。()

8將首地址賦值給p ,p變數就引用了該實體。(指向了該對象)

Java學習(三)物件導向

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.