JAVA的建構函式
阿新 • • 發佈:2020-09-23
1.建構函式的概念
建構函式是函式的一種特殊形式,特殊在哪裡?建構函式中不需要定義返回型別(void是無需返回值的意思,請注意區分兩者),且建構函式的名稱與所在的類名完全一致,其餘的與函式的特性相同,可以帶有引數列表,可以存在函式的過載現象。
2.建構函式的格式
如果在類中我們不宣告建構函式,JVM會幫我們預設生成一個空引數的建構函式;
如果在類中我們聲明瞭帶引數列表的建構函式,JVM就不會幫我們預設生成一個空引數的建構函式,我們想要使用空引數的建構函式就必須自己去顯式的宣告一個空參的建構函式。
public class Demo { private int num = 0; // 無參建構函式 Demo() { System.out.println("constractor_run"); } // 有參建構函式 Demo(int num) { System.out.println("constractor_args_run"); } // 普通成員函式 public void demoFunction() { System.out.println("function_run"); } }
注意:這個類裡面好像有多個建構函式,其實不然,這是把建構函式過載了多次。
構造方法過載的好處:我扔進來是什麼樣的引數,程式就會自動找到相對應的構造方法去執行。這樣建構函式就能實現很多功能了。否則一個功能寫一個類,多麻煩啊。
3.建構函式的作用
(1)建立物件。任何一個物件建立時,都需要初始化才能使用,所以任何類想要建立例項物件就必須具有建構函式。
(2)物件初始化。建構函式可以對物件進行初始化,並且是給與之格式(引數列表)相符合的物件初始化,是具有一定針對性的初始化函式。
總之:建構函式的最大作用就是建立物件時完成初始化,當我們在new一個物件並傳入引數的時候,會自動呼叫建構函式並完成引數的初始化
參考:
java 為什麼有時一個類有多個建構函式 https://www.cnblogs.com/baxianhua/p/12167980.html
https://juejin.im/entry/6844903478234447886
https://blog.csdn.net/VipMao/article/details/51530954