posts - 4,  comments - 0,  trackbacks - 0

          什么是是JAVA構造函數  

          每創建一個類的實例都去初始化它的所有變量是乏味的。如果一個對象在被創建時就完成了所有的初始工作,將是簡單的和簡潔的。因此,Java在類里提供了一個特殊的成員函數,叫做構造函數(Constructor)。 
            一個構造函數是對象被創建時初始對象的成員函數。它具有和它所在的類完全一樣的名字。一旦定義好一個構造函數,new運算符一起使用,創建對象時就會自動調用它。構造函數沒有返回類型,即使是void類型也沒有。這是因為一個類的構造函數的返回值的類型就是這個類本身。構造函數的任務是初始化一個對象的內部狀態,所以用new操作符創建一個實例后,立刻就會得到一個清楚、可用的對象。 

          構造方法是一種特殊的方法,具有以下特點。 
          1)構造方法的方法名必須與類名相同。 
          2)構造方法沒有返回類型,也不能定義為void,在方法名前面不聲明方法類型。 
          3)構造方法的主要作用是完成對象的初始化工作,它能夠把定義對象時的參數傳給對象的域。 
          4)構造方法不能由編程人員調用,而要系統調用。 

          5構造函數不能被直接調用,必須通過new運算符在創建對象時才會自動調用(即在new的時候就開始執行構造函數里面的語句);而一般的方法是在程序執行到它的時候被調用的.
          6)一個類可以定義多個構造方法,如果在定義類時沒有定義構造方法,則編譯系統會自動插入一個無參數的默認構造器,這個構造器不執行任何代碼。 
          7)構造方法可以重載,以參數的個數,類型,或排列順序區分。

          8當定義一個類的時候,如果程序員不創建構造函數,則Java編譯器就會提供一個默認的不帶參數的構造函數。創建對象時系統就會自動調用這個默認的構造函數來創建類的對象。如

          Public Class Person{

          Int age;

          String name;

          //默認的構造函數為(java編輯器會自動生成的)

             Public Person(){

          }

          Person p=new Person();

          p.age=10;

          p.name=”張三”;

          }

          java 構造函數的執行過程

          類初始化時構造函數調用順序:
           
          1)初始化對象的存儲空間為零或null值;
           
          2)調用父類構造函數;
           
          3)按順序分別調用類成員變量和實例成員變量的初始化表達式;

          public class Demo_1 {

           

              /**

               * @param args

               */

             

             

           

              public static void main(String[] args){

              

                    new Money();

                    new Dollar();

                    new Rmb();

              

              }

          }

          class Money{

          public Money(){

           System.out.println("Money is construct");

          }

          }

          class Dollar{

          public Dollar(){

             

              System.out.println("Dollar is construct!");

            

             }

          }

          class Rmb{

          public Rmb(){

           System.out.println("RMB is construct");

          }

          }

           

          輸出結果:
          Money is construct

          Dollar is construct!

          RMB is construct

          posted on 2011-11-05 09:59 愛燕神鷹 閱讀(3176) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2011年11月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          常用鏈接

          留言簿

          隨筆檔案

          文章檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 临高县| 赤壁市| 南漳县| 乐东| 同江市| 西盟| 科技| 姜堰市| 都昌县| 金乡县| 柘荣县| 绵阳市| 井研县| 安宁市| 和平县| 天水市| 巨鹿县| 航空| 门头沟区| 营口市| 临邑县| 连云港市| 文安县| 房山区| 霍州市| 巫溪县| 江陵县| 奉化市| 山丹县| 齐河县| 永仁县| 定南县| 聂拉木县| 喀喇沁旗| 那坡县| 锦屏县| 天津市| 罗江县| 宁强县| 保亭| 鄂温|