java面向對象基礎總結


本周學習了java面向對象的一些基本概念,介紹了它三個主要特性,封裝性、繼承性、多態性,類與對象的關系,棧堆的關系,三個特性中主要講了封裝性,其他兩個后面再講。
類實際上是表示一個客觀世界某類群體的一些基本特征抽象、
類由屬性和方法構成
對象則是表示一個具體的東西
類與對象的另一種解釋:

創建類:

class 類名稱{
       數據類型    屬性;
       ..............
       public   返回值的數據類型   方法名稱 (參數1,參數2....){
                程序語句:
                【return 表達式】
}
}

創建完類之后,要使用這個類則需要通過對象,下面創建對象:

類名   對象名 = null;                            \\聲明對象
對象名  =   new  類名();                 \\實例化對象,只要有關鍵字new就表示開辟新的堆內存空間 

所有的對象名稱都保存在棧內存中,而對象的具體內容則保存在對應的堆內存中。
在棧內存中實際上保存的是堆內存空間的訪問地址。

訪問對象中的屬性或方法:

訪問屬性:對象名稱.屬性名
訪問方法:對象名稱.方法名()

主意!!!如果一個對象要被使用,則對象必須被實例化。如果沒有被實例化而直接調用了對象里的屬性或方法,則程序會報異常。

垃圾空間的產生:

對於垃圾空間java本身提供了一個垃圾收集機制(簡稱GC,Garbage Collection),會不定期的釋放不用的內存空間,只要對象不使用了,就會等待GC釋放空間。

下面講三個主要特點之一的封裝性:

所謂封裝就是指對外部不可見。
封裝格式:

為屬性封裝:private 屬性類型  類型名稱;
為方法封裝:private 方法返回值  方法名稱(參數列表){ }

對於封裝后的屬性無法直接訪問

訪問封裝屬性要使用setter和getter方法,在各個程序中,反射機制都會利用這兩個設置和取得屬性內容。


封裝是面向對象的方法所遵循的一個重要原則。它有兩個含義:一是指把對象的屬性和行為看成一個密不可分的整體,將這兩者“封裝”在一個不可分割的獨立單位即“對象”中。另一層含義指“信息隱蔽”,把不需要讓外界知道的信息隱蔽起來,有些對象的屬性及行為允許外界用戶知道或使用,但不允許更改,而另一些屬性或行為,則不允許外界知曉;或只允許使用對象的功能,而盡可能隱蔽對象實現功能的細節。
封裝機制在程序設計中表現為,把描述對象屬性的變量及實現對象功能的方法結合在一起,定義為一個程序單位,並保證外界不能任意更改其內部的屬性值,也不能任意調動其內部的功能方法。
封裝機制的另一個特點是,為封裝在一個整體內的變量及方法規定了不同級別的“可見性”或訪問權限。
“-”這個表示封裝屬性

還有第二個屬性繼承性:

在java程序設計中,已有的類可以是java開發環境所提供的一批基本的程序---類庫。
用戶開發的程序類是繼承這些已有的類。這樣,現在類所描述的屬性及行為,即已定義的變量和方法,在繼承產生的類中完全可以使用。被繼承的類稱為父類或超類,而經繼承產生的類稱為子類或派生類。根據繼承機制,派生類繼承了超類的所有成員,並相應地增加了自己的一些新的成員。
若一個子類只允許繼承一個父親,稱為單繼承;若允許繼承多個父親,稱為多繼承。目前許多面向對象語言不支持多繼承,而java通過接口(interface)的方式來彌補。

第三個屬性多態性:

多態是允許程序中出現重名現象。
一個是方法多態:在一個類中,允許多個方法使用一個名字,但方法的參數不同,完成的功能也不同。
另一個是對象多態:子類對象可以與父類對象進行互相的轉換,而根據其使用的子類的不同完成的功能也不同。
現在對后兩個進行簡單的介紹。后面會詳細講解


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM