首頁 > Java > java教程 > 主體

靜態方法的載入順序詳解

零下一度
發布: 2017-07-19 23:18:50
原創
4145 人瀏覽過

        Java 靜態程式碼區塊靜態方法區別一般情況下,如果有些程式碼必須在專案啟動的時候就執行的時候,需要使用靜態程式碼區塊,這種程式碼是主動執行的;需要在專案啟動的時候就初始化,在不創建物件的情況下,其他程式來呼叫的時候,需要使用靜態方法,這種程式碼是被動執行的. 靜態方法在類別載入的時候就已經載入可以用類別名稱直接呼叫例如main方法就必須是靜態的這是程式入口兩者的差別就是:靜態程式碼區塊是自動執行的; 靜態方法是被呼叫的時候才執行的. 靜態方法 

(1)在Java裡,可以定義一個不需要建立物件的方法,而這個方法就是靜態方法。要達到這樣的效果,只需要在類別中定義的方法前面加上static關鍵字。例如: public static int maximum(int n1,int n2) 使用類別的靜態方法時,請注意: a在靜態方法裡只能直接呼叫同類中其他的靜態成員(包括變數和方法),而不能直接存取類別中的非靜態成員。這是因為,對於非靜態的方法和變量,需要先建立類別的實例物件後才可使用,而靜態方法在使用前不用建立任何物件。 b 靜態方法不能以任何方式引用this和super關鍵字,因為靜態方法在使用前不用建立任何實例對象,當靜態方法呼叫時,this所引用的物件根本沒有產生。 

(2)靜態變數是屬於整個類別的變數而不是屬於某個物件的。注意不能將任何方法體內的變數宣告為靜態,例如: fun() { static int i=0;//非法。 } (3)一個類別可以使用不包含在任何方法體中的靜態程式碼區塊,當類別被載入時,靜態程式碼區塊被執行,且只執行一次,靜態區塊常用來執行類別屬性的初始化。例如: static { }

<br>
登入後複製
public abstract class ClassLoadingTest {

    public static void main(String[] args) {
        User user3 = new User();
        
    }
}
登入後複製
   User user=  User("wang",18  "调用userSay静态方法""进入静态构造代码块"=  User("wang2333", 19"进入代码块"  User(String name, .name =.age = .name =   setAge(.age = .getName() + "调用say方法"
登入後複製
执行结果:
进入代码块
调用userSay静态方法
wang调用say方法
进入静态构造代码块
进入代码块
wang2333调用say方法
wang调用say方法
进入代码块
登入後複製
#

以上是靜態方法的載入順序詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!