5. main javadoc static使用 初始化

①main函數:可以被jvm調用,作爲程序入口

定義:public:代表該函數訪問權限是最大的

    static :代表着主函數隨着類的加載就已經存在

    void:主函數沒有具體的返回值

    main:不是關鍵字,是一個特殊的單詞,被JVM識別

(String [] args)函數的參數,參數類型是一個字符串數組


主函數是固定格式的,以便JVM識別

args 接收兩種類型:數組,null

jvm在調用main時傳入的是new String[0]


②什麼時候使用靜態static

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


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

當對象的出現共享數據時,該數據被靜態所修飾。對象中的持有數據 要定義成非靜態存在於堆內存中


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

當功能內部沒有訪問到非靜態數據(對象的持有數據),那麼該功能可以定義爲靜態的


共用功能可獨立封裝


工具類裏定義的多爲靜態方法(不包含操作特有數據)爲了讓此類工具類無法建立對象,可把構造函數私有化

默認構造方法權限與所屬類一致




③幫助文檔javadoc

步驟:

舉例:

/**

this is a ...

@author 張三

@version v1.1

@param arr    接收一個int 類型的數組

@return 會返回一個該數組中最大值

*/

可以 javadoc -d c:\myhelp -author -version Array.java查看


④靜態代碼塊

class{

static{

}

}

隨着類的加載執行,只執行一次,優先於主方法,用於給類初始化

⑤對象初始化

Person P=new Person();

通過JVM加載class文件到內存

加載static塊-----在堆內存開闢內存空間-----默認初始化-----構造初始化----構造方法

具體流程:

-----》

new用到person.class,先找到person.class文件並加載到內存中

執行該類static 塊

在堆內存開闢空間,分配內存地址

在堆內存建立對象的特有屬性,並默認初始化

對屬性顯示初始化

對對象進行構造代碼塊初始化

對構造函數初始化

將內存地址付給棧內存中的p變量。

-----》


⑥對象調用過程


Person P=new Person("zhangsan",20);

p.setName("lisi");





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