修飾符

private:私有,權限修飾符,用於修飾類中的成員(成員變量,成員函數)。

私有只有在本類中有效。


將age私有化以後,類以外即使建立了對象也不能直接訪問。

所以就需要person類中提供對用的訪問方法。  


夠造函數:對象一建立就運行,作用是給對象初始化。

夠造函數小細節。

當一個類中沒有構造函數時、系統默認給類加一個空參數的夠着函數否者對象建立不出來


構造函數和一般函數在學法上不同

在運行上也不同

構造函數是在對象一建立就運行,給對象初始化

一般方法是對象調用才執行,給對象添加功能。

什麼時候定義構造函數時

當分析事物時,該事物存在具備一些特性或者行爲,那麼將這些內容定義進構造函數中,


構造代碼塊,

作用 :給對象進行初始化

對象已建立就運行,優先於構造函數執行。

和構造函數的區別:

構造代碼塊是給所有對象進行統一初始化

構造函數是給對應的對象初始化。

構造代碼塊裏面定義的是所有的對象都共性的內容。。。



static

靜態:

用法:是一個修飾符,用於修飾成員(成員變量,成員方法)。

當成員被靜態修飾後,就多了一個調用方式,除了被對象調用以外,還可以被類名調用,類名.靜態成員。


靜態代碼塊。

格式:

static

靜態代碼塊執行語句。


特點:隨着類的加載而執行,只執行一次,並優先於主函數。

用於給類進行初始化。


static。特點:

1.隨着類的加載而加載,隨着類的消失而 消失。

2.優先於類的對象存在。

明確一點:靜態是先存在的,對象是後存在的

3.被所有的對象共享

4.可以直接被類名所調用。


實例變量,和類變量的區別:

1.類變量

隨着類的加載存在方法區中,隨着類的消失而消失。

實例變量

隨着對象的建立存在於堆內存中

2.生命週期:

類變量生命週期最長,隨着類的消失而消失,

實例變量,隨着對象的消失而消失,



靜態的使用注意事項:

1.靜態方法只能訪問靜態成員。和靜態方法。

非靜態方法,既可以訪問靜態,也可以訪問非靜態。

2.靜態方法中不可以定義this,super關鍵字,

因爲靜態優先於對象存在,所以靜態方法中不可以出現this。

3.主函數是靜態的。




靜態有利有弊

利。對對象的共享數據進行單獨空間的存儲,節省空間。沒有必要每一個對象中都存儲一份可以直接被類名調用。

弊端:生命週期過長。

訪問出現侷限性(靜態只能訪問靜態。)


什麼時候使用靜態?

要從兩方面下手:

因爲靜態修飾的內容有成員變量和函數。

什麼時候定義靜態變量(類變量)呢?

當對象中出現共享數據時,該數據被靜態所修飾。

對象中的特有數據要定義成非靜態存在於堆內存中。


什麼時候定義靜態函數呢?

當功能內部沒有訪問到非靜態數據(對象的特有數據)。

那麼該功能可以定義成靜態的。


發佈了16 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章