程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java 編程思想筆記(二)——初始化

java 編程思想筆記(二)——初始化

編輯:關於JAVA

java 編程思想筆記(二)——初始化。本站提示廣大學習愛好者:(java 編程思想筆記(二)——初始化)文章只能為提供參考,不一定能成為您想要的結果。以下是java 編程思想筆記(二)——初始化正文


一.問題

  隨著計算機反動的開展,“不平安”的編程方式已逐步成為編程代價昂揚的主因之一。

  初始化和清算正是觸及平安的兩個問題。

二.java 處理方案

  結構器:一種特殊的辦法。java 中”初始化“和”創立“捆綁在一同,兩者不能別離。

  渣滓回收器:釋放無用的對象。

三.辦法重載

  為什麼要在這裡講辦法重載?我覺得首先:結構器是一種特殊的辦法,再一個,結構器除了默許結構器還有有參結構器。為了讓辦法稱號相反而方式參數不同的結構器同時存在,就必需用到辦法重載。

  區分辦法重載的判決條件

  1.參數的數量能否相反

  2.參數的類型能否相反

  只需其中一條為否,則就是辦法重載,必需記住重載的前提:辦法稱號必需相反。

四.結構器中調用結構器

  1.雖然可以用this調用一個結構器,但卻不能調用兩個。此外,必需將結構器調用置於最起始處,否則編譯錯誤。

  2.除結構器之外,編譯器制止在其他任何辦法中調用結構器。

五.成員初始化途徑

  1.一切變量在運用前都能失掉恰當的初始化,類的根本類型默許為根本類型的默許值,部分變量必需由編程者指定初始值,在類中,一個對象援用不將其初始化,就會取得特殊的null值。

  2.編程者指定變量初始化值

  3.經過結構器初始化變量值,但是自動初始化在結構器初始化之前完成。

六.變量初始化順序

 變量定義的順序決議了初始化的順序,即便變量定義漫步於辦法定義之間。

七.靜態數據初始化

  無論創立多少個對象,靜態數據都只占用一份存儲區域,static 關鍵字不能用於部分變量,因而只能作用於域。

八.非靜態實例初始化

  代碼如下:

Class Mug{

   Mug(int maker){
          print("Mug("+maker+")");    

    }               
   void f(int maker){
          print("f("+maker+")");          
    }
}
public  Class Mugs{

    Mug mug1;
    Mug mug2;
   {
       mug1= new Mug(1);
       mug2= new Mug(2);
       print("mug1&mug2 initial");
    }
   
   Mugs()
    {
          print("Mugs(int)");
    }

   public static void main(String[] args)
    {
          print("Inside main()");
          new Mugs();
          print("new Mugs()  completed");
          new Mugs(1);
          print("new Mugs(1)  completed");
    }


}                  

從輸入後果可以看出,實例初始化子句是在兩個結構器之前執行的。

九,對六七八的總結

  1.首先初始化靜態的變量(第一次訪問.class文件時初始化,只初始化一次),然後初始化非靜態變量

  2.非靜態變量會被創立對象時復制給默許值。

  3.執行編程值為變量指定的初始值。

  4.執行結構器。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved