Java之旅 (6) 初始化和清理

來源:互聯網
上載者:User

用建構函式保證初始化,JAVA的對象建立和初始化是同一個概念,你不能要這個而不要那個。

 

       方法的重載    區分經重載的方法:唯一的參數類型的列表

       建構函式:如果沒有建構函式,編譯器會幫你建立一個無參類型的建構函式,但是如果你構造了一個,那麼

       不管你構造的是個啥樣的,編譯器都不會再幫你構造了。

 

       this的用法:this只應用於那些,你明確指明要使用當前對象的reference的特殊情況。舉例來說,他常用於

       return語句以返回當前對象的reference.

       /////////////////////////////////////

       public      class TestThis

       {

              int i = 0;

             

              TestThis increment()

              {

                     i++;

                     return this;

              }

 

              void print()

              {

                     System.out.println("i="+i);

              }

 

              public static void main(String[] args)

              {

                     TestThis x = new TestThis();

                     x.increment.increment.increment.print();     //i==3

              }

 

       }

       /////////////////////////////////////////

 

       編譯器不會讓你在方法裡調用建構函式,但可以在建構函式裡調用建構函式。這個時候可以使用this

       來進行這種調用。

       參數的名字和類的資料成員的名字相同(有時候是刻意如此),可以利用this.x來表示他是

       資料成員,而非參數。

 

       static 的用法:是不是真正的“OOP”,留給理論家吧。

 

       記憶體回收和finalize()都是靠不住的。而且用他們的地方和時機都是個問題。不要太在意。有一點要知道

       System.gc()可以強制的執行finalize();

 

       成員的初始化:基礎資料型別 (Elementary Data Type),如果是在方法內部定義的局部變數,則不初始化會出錯,而如果是類的資料

       成員,則不初始化,編譯器會自動負初值。

       下面是對基本建立對象做的一個總結,就用dog為例吧:

       1,第一次建立dog類的對象(建構函式實際上是個static方法),或者第一次訪問Dog類的static的方法或

       欄位的時候,java解譯器會要搜尋classpath,找到Dog.class。

       2,裝載了Dog.class後,會對所有的static資料進行初始化。這樣第一個裝載class對象的時候,會先進行

       static成員的初始化。

       3,用new()建立新對象時,Dog對象的建立進程會先在堆裡為對象分配足夠的記憶體。

       4,這快記憶體先被清零,這樣就自動的把Dog對象的primitive類型的成員賦上預設的值(對於數字就是零,或者相應的boolean和char),將reference設為null。

       5,執行定義成員資料時所作的初始化。

       6,執行建構函式。

 

       ok,今天到這裡,明天將學習到的是“隱藏實現”和“複用類”

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.