黑馬程序員>>>面向對象[>上


------Java培訓、Android培訓、iOS培訓、.Net培訓、期待與您交流! -------




面向對象
面向對象是相對面向過程而言
面向對象和麪向過程是一種思想
面向過程強調的是功能行爲
面向對象將功能封裝進對象,強調具備了功能的對象
面向對象是基於面向過程的

 

 

 

面向對象的三個特徵:  封裝,繼承,多態
以後的開發,其實就是在找對象用,沒有對象就創建對象
找對象,建立對象,維護對象
類和對象的關係:
類就是,對現實生活事物的描述
對象就是這類事物實實在在存在個體

成員變量在堆內存中
局部變量在棧內存中

類中可以創建該類的對象

成員變量和局部變量
成員變量作用於整個類中
局部變量作用於函數中或語句中
在內存中
成員變量在堆內存中,因爲對象的存在,纔在內存中存在
局部變量在棧內存中
匿名對象使用方式:
當對對象的方法只調用一次時,可以使用匿名對象來完成,以簡化
如果一個對象進行多個成員調用,必須給這個對象起個名字
可以將匿名對象作爲實際參數進行傳遞

封裝 (Encapsulation)
封裝:是指隱藏對象的屬性和實現細節,僅對外提供公共訪問方式.
好處:
將變化隔離
便於使用
提高重用性
提高安全性
封裝原則:
將不需要對位提供的內容隱藏起來.
把屬性都隱藏,提供公共方法對其訪問

權限修飾符:
public   公共
private  私有
static   靜態

構造函數:
特點:
函數名與類名相同
不用定義返回值類型
不可以寫return語句
作用:
給對象進行初始化
注意:
默認構造函數的特點
多個構造函數是以重載的形式存在的
可以私有化

構造代碼塊~~~~~~~~~給對象進行初始化,對象一建立就運行,而且優先於構造函數執行
和構造函數的區別:構造代碼塊是給所有對象進行統一初始化
而構造函數是給對應的對象進行初始化

this:代表本類的實例對象>>>>代表所在函數所屬對象的引用
但凡本類功能使用到了本類對象,都用this表示
this語句用於構造函數間的進行互相調用

static   靜態
是一個修飾符,用於修飾成員(成員變量,成員函數)
當成員被就靜態修飾後,就多了一個調用方式,出了可以被對象調用外
還可以直接被類名調用

特點:
隨着類的加載而加載
優先於對象存在
被所以對象所共享
可以直接被類名調用

注意:
靜態方法只能訪問靜態成員
非靜態方法可以訪問靜態
靜態方法中不可以定義thin,super關鍵字
利:對對象的共享數據進行調度空間的存儲,節省空間,沒有必要沒個對象都存儲一份
   可以直接被類名調用
弊:生命週期過長,訪問出現侷限性

主函數是靜態的:是一個特殊的函數,作爲程序的人口,可以被jvm調用
主函數的定義:
public:代表着該函數訪問權限是最大的,
static:代表主函數隨着類的加載就已經存在了
void:主函數沒有具體返回值
main:不是關鍵子,但是是一個特殊的單詞,可以被jvm識別
(String[] arr):函數的參數,參數的類似是一個數組,
               該數組中的元素是字符串,字符串類型的數組
主函數是固定格式的:jvm識別
jvm在調用主函數時,傳入的是new String[0];

什麼時候使用靜態
從兩方面下手
因爲靜態修飾符的內容有成員變量和函數

什麼時候定義靜態變量呢
當對象中出現共享數據時,該數據被靜態所修飾
對象中的特有數據要定義成非靜態存在於堆內存中

什麼時候定義靜態函數
當功能內部沒有訪問到非靜態數據
那麼該功能可以定義成靜態的


類的文檔
需要提升類的權限  public

javadoc -d  目錄  -author -version 類的名稱.java
                              作者      版本


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章