国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java 基礎--封裝

2019-11-06 06:33:28
字體:
來源:轉載
供稿:網友

封裝:是指隱藏對象的屬性和實現細節,僅對外提供公共訪問方式。

好處:將變化隔離;便于使用;提高重用性;安全性。

封裝原則:將不需要對外提供的內容都隱藏起來,把屬性都隱藏,提供公共方法對其訪問。

 

this:代表對象。就是所在函數所屬對象的引用。

this到底代表什么呢?哪個對象調用了this所在的函數,this就代表哪個對象,就是哪個對象的引用。

開發時,什么時候使用this呢?

在定義功能時,如果該功能內部使用到了調用該功能的對象,這時就用this來表示這個對象。

 

this 還可以用于構造函數間的調用。

調用格式:this(實際參數);

this對象后面跟上 .  調用的是成員屬性和成員方法(一般方法);

this對象后面跟上 () 調用的是本類中的對應參數的構造函數。

 

注意:用this調用構造函數,必須定義在構造函數的第一行。因為構造函數是用于初始化的,所以初始化動作一定要執行。否則編譯失敗。

 

static:★★★ 關鍵字,是一個修飾符,用于修飾成員(成員變量和成員函數)。

特點:

1,想要實現對象中的共性數據的對象共享。可以將這個數據進行靜態修飾。

2,被靜態修飾的成員,可以直接被類名所調用。也就是說,靜態的成員多了一種調用方式。類名.靜態方式

3,靜態隨著類的加載而加載。而且優先于對象存在。

 

弊端:

1,有些數據是對象特有的數據,是不可以被靜態修飾的。因為那樣的話,特有數據會變成對象的共享數據。這樣對事物的描述就出了問題。所以,在定義靜態時,必須要明確,這個數據是否是被對象所共享的。

2,靜態方法只能訪問靜態成員,不可以訪問非靜態成員。

因為靜態方法加載時,優先于對象存在,所以沒有辦法訪問對象中的成員。

3,靜態方法中不能使用this,super關鍵字。

因為this代表對象,而靜態在時,有可能沒有對象,所以this無法使用。

4,主函數是靜態的。

 

什么時候定義靜態成員呢? 或者說:定義成員時,到底需不需要被靜態修飾呢?

成員分兩種:

1,成員變量。數據共享時靜態化

該成員變量的數據是否是所有對象都一樣:

如果是,那么該變量需要被靜態修飾,因為是共享的數據。

如果不是,那么就說這是對象的特有數據,要存儲到對象中。

2,成員函數。方法中沒有調用特有數據時就定義成靜態

如果判斷成員函數是否需要被靜態修飾呢?

只要參考,該函數內是否訪問了對象中的特有數據:

如果有訪問特有數據,那方法不能被靜態修飾。

如果沒有訪問過特有數據,那么這個方法需要被靜態修飾。

 

成員變量和靜態變量的區別:

1,成員變量所屬于對象。所以也稱為實例變量。

靜態變量所屬于類。所以也稱為類變量。

2,成員變量存在于堆內存中。

靜態變量存在于方法區中。

3,成員變量隨著對象創建而存在。隨著對象被回收而消失。

靜態變量隨著類的加載而存在。隨著類的消失而消失。

4,成員變量只能被對象所調用 。

靜態變量可以被對象調用,也可以被類名調用。

所以,成員變量可以稱為對象的特有數據,靜態變量稱為對象的共享數據。

 

靜態的注意:靜態的生命周期很長。

靜態代碼塊:就是一個有靜態關鍵字標示的一個代碼塊區域。定義在類中。

作用:可以完成類的初始化。靜態代碼塊隨著類的加載而執行,而且只執行一次(new 多個對象就只執行一次)。如果和主函數在同一類中,優先于主函數執行。

 

Public:訪問權限最大。

static:不需要對象,直接類名即可。

void:主函數沒有返回值。

Main:主函數特定的名稱。

(String[] args):主函數的參數,是一個字符串數組類型的參數,jvm調用main方法時,傳遞的實際參數是 new String[0]。

 

jvm默認傳遞的是長度為0的字符串數組,我們在運行該類時,也可以指定具體的參數進行傳遞。可以在控制臺,運行該類時,在后面加入參數。參數之間通過空格隔開。jvm會自動將這些字符串參數作為args數組中的元素,進行存儲。

 

靜態代碼塊、構造代碼塊、構造函數同時存在時的執行順序:靜態代碼塊à 構造代碼塊à 構造函數;

 

生成java幫助文檔:命令格式:javadoc –d 文件夾名 –auther –version *.java

/**     //格式

*類描述

*@author 作者名

*@version 版本號

*/

/**

*方法描述

*@param  參數描述

*@return  返回值描述

*/


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沁阳市| 关岭| 安多县| 元氏县| 嘉定区| 东阳市| 定州市| 莱芜市| 齐河县| 鲁甸县| 剑阁县| 湘潭县| 老河口市| 马山县| 电白县| 会昌县| 孟津县| 昌图县| 康马县| 台东县| 永宁县| 会东县| 沙田区| 牡丹江市| 裕民县| 新民市| 梓潼县| 新化县| 英吉沙县| 陆良县| 阳西县| 禹州市| 蓬溪县| 武平县| 禄劝| 阜新市| 衡阳县| 临武县| 衡阳县| 桐柏县| 林州市|