Java中的构造函数和重载
? ?一.Java中的構(gòu)造函數(shù)
? ?構(gòu)造函數(shù)是對象被創(chuàng)建時初始化對象的成員方法,它具有和它所在的類完全一樣的名字。構(gòu)造函數(shù)只能有入口參數(shù),沒有返回類型,因為一個類的構(gòu)造方法的返回類就是類本身。構(gòu)造函數(shù)定義后,創(chuàng)建對象時就會自動調(diào)用它,對新創(chuàng)建的對象分配內(nèi)存空間和初始化。在 Java 中,構(gòu)造函數(shù)也可以重載,當(dāng)創(chuàng)建一個對象時, JVM 會自動根據(jù)當(dāng)前對方法的調(diào)用形式在類的定義中匹配形式符合的構(gòu)造方法,匹配成功后執(zhí)行該構(gòu)造方法。?
eg:
public Class Dog {private int age;private String name;//無參構(gòu)造public Dog(){}//帶參構(gòu)造:用于給類中的屬性賦值public Dog(int age,string name){this.age=age;this.name=name;}}?
? ? 二.Java中默認(rèn)構(gòu)造
? ?如果省略構(gòu)造方法的定義,則 Java 會自動調(diào)用默認(rèn)的構(gòu)造方法。但是如果定義了構(gòu)造方法,則系統(tǒng)不再提供默認(rèn)的構(gòu)造方法。默認(rèn)的構(gòu)造方法沒有任何參數(shù),不執(zhí)行任何操作。實際上,默認(rèn)的構(gòu)造方法的功能是調(diào)用此類的父類中的不帶參數(shù)的那個構(gòu)造方法,如果父類中不存在這樣的構(gòu)造方法,編譯時會產(chǎn)生錯誤信息。 Object 是 Java 中所有類的根,定義它的直接子類,可以省略 extends 子句,編譯器會自動包含它。
? ?三.方法重載
方法名稱相同,參數(shù)項不相同。那么認(rèn)為一個方法是另一個方法的重載方法。
注意:重載只跟參數(shù)有關(guān),與返回類型無關(guān)。方法名和參數(shù)相同而返回類型不相同,不能說是重載。
public void Say(int age){}
public int Say(int age,string name){}
public String Say(String name,String age){}
? 四.構(gòu)造方法重載
構(gòu)造方法重載是方法重載的一個典型的特例。參數(shù)列表不同。
可以通過重載構(gòu)造方法來表達(dá)對象的各種多種初始化行為。也就是說在通過new語句創(chuàng)建一個對象時,可以實現(xiàn)在不同的條件下,讓不同的對象具有不同的初始化行為。
public Class Text{Private String name;Private String sex;Public Text(String name){this.name=name;}Public Text(String name,String sex){this.name=name;this.sex=sex;}}?
轉(zhuǎn)載于:https://www.cnblogs.com/hyjj/p/5399018.html
總結(jié)
以上是生活随笔為你收集整理的Java中的构造函数和重载的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用 NuGet 管理我们的程序集 -
- 下一篇: ReactiveCocoa的使用方法