[javase學習筆記]-7.1 建構函式概述與預設建構函式

來源:互聯網
上載者:User

[javase學習筆記]-7.1 建構函式概述與預設建構函式

這一節我們來學習一個特殊的函數,那就是建構函式。

那麼什麼是建構函式呢?

既然是函數,那它應該是被定義在類中,同時有函數名,要明確函數返回的結果和參數類型。

我們這裡先看一下建構函式的特點:

1.函數名與類名相同;

2.不用定義傳回值類型

3.沒有具體的傳回值。

從這些特點來說,這確實是一個很特殊的函數哦。

我們來看一個定義建構函式的例子:

class Person{private String name;private int age;//定義一個Person類的建構函式Person()//建構函式,而且是空參數的。{System.out.println("person run");}public void speak(){System.out.println(name+":"+age);}}//測試類別class ConsDemo{public static void main(String[] args) {Person p = new Person();}}

結果:

結果我們看到了,當我們建立對象是,執行了我們定義的構造方法。

那麼我們可以這樣通俗的定義建構函式:

建構函式:構建創造對象時調用的函數。這樣是不是很好理解了。

那麼我們就可以清楚的知道建構函式的主要作用:

建構函式的作用:可以給對象進行初始化。

我們必須清楚,建立的每一個對象都必須要通過建構函式初始化。

那麼當我們一個類中沒有建構函式時,為什麼我們還是可以建立對象呢?那是因為有預設建構函式。

什麼是預設建構函式呢?

當一個類中如果沒有定義過建構函式,那麼該類中會有一個預設的空參數建構函式。

class Person(){}//建構函式,而且是空參數的,這其實就是類中的預設建構函式

但我們更要注意的是:如果在類中定義了指定的建構函式,那麼類中的預設建構函式就沒有了。

比如說我們定義一個類:

class Demo{}//一個什麼代碼都沒有的類

我們說這個類中有沒有內容?

答案當然是肯定的,雖然這個類是空的,但是我們可以建立它的對象,也就是說這個類中有一個預設的建構函式:

class Demo{Demo(){}}
很顯然,這個類中確實有內容,就是我們說的預設建構函式。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.