一篇文章帶你了解Java構(gòu)造方法的定義和重載
后臺回復(fù)“Java”即可獲贈Java學(xué)習(xí)資料
????前面幾篇文章用Java帶大家一起了解了幾個游戲小項目,感興趣的小伙伴可以點擊文章觀摩下,手把手教你用Java打造一款簡單故事書(上篇)、手把手教你用Java打造一款簡單故事書(下篇)、手把手教你用Java打造一款簡單考試系統(tǒng)(上篇)、手把手教你用Java打造一款簡單考試系統(tǒng)(下篇)、手把手帶你用Java打造一款對對碰游戲(上篇)、手把手帶你用Java打造一款對對碰游戲(下篇)、手把手帶你用Java實現(xiàn)點燈游戲(上篇)、手把手帶你用Java實現(xiàn)點燈游戲(下篇),接下來的幾篇文章是關(guān)于Java基礎(chǔ)的,希望對大家的學(xué)習(xí)有幫助,歡迎大家在討論區(qū)留言。
一、構(gòu)造方法的定義
(一)什么構(gòu)造方法
實例化一個類的對象后,如果要給屬性賦值,需要通過訪問對象的屬性或setXXX()方法。在實例化對象后同時給對象的屬性賦值可以使用構(gòu)造方法,構(gòu)造方法也叫做構(gòu)造函數(shù)。用來對對象進行初始化。
(二)構(gòu)造方法特點
1.構(gòu)造方法的名字必須和類名完全相同。
2.方法名前面沒有返回值,甚至連表示沒有返回值的空類型(void)也沒有。
3.在方法中不能使用return語句返回一個值。
4.構(gòu)造方法一般定義是為public。
5.使用new運算符調(diào)用構(gòu)造方法。
(三)如何在類中定義構(gòu)造方法
例如:
public class Person {public String name; //成員變量--名字public int age; //成員變量--年齡//構(gòu)造方法--方法名和類型是相同的,并且沒有返回值類型和返回值public Person(String s, int a){name = s; //為name屬性賦值age = a; //為age屬性賦值}//say()方法public void say(){System.out.println("你好!我是" + name + ",今年" + age + "歲。");}public static void main(String[] args) {???//?TODO?Auto-generated?method?stub????????Person?p1?=?new?Person("李華",?20);//創(chuàng)建第一個對象????????Person?p2?=?new?Person("小名",?19); //創(chuàng)建第二個對象????????p1.say();??//調(diào)用對象的方法????????p2.say(); //調(diào)用對象的方法}}
輸出的結(jié)果是:
你好!我是李華,今年20歲。你好!我是小名,今年19歲。
首先是Person類定義了有參的構(gòu)造方法Person(String s, int a)在new Person實例化對象時同時調(diào)用有參的構(gòu)造方法,在有參的構(gòu)造方法Person(String s, int a)給name和age屬性賦值。
二、構(gòu)造方法的重載
1.構(gòu)造方法的重載:在一個類中可以定義多個構(gòu)造方法,只要每個構(gòu)造方法參數(shù)類型或參數(shù)個數(shù)不一樣。
2.如何實現(xiàn)構(gòu)造方法的重載
例如:
class Person{public String name;public int age;//定義兩個參數(shù)的構(gòu)造方法public Person(String s,int a){name=s;age=a;}//定義一個參數(shù)的構(gòu)造方法public Person(String s){name=s;}//say()方法public void say(){//控制臺輸出name和age的值System.out.println("你好!我是" + name + ",今年" + age + "歲。");}}public class p16 {public static void main(String[] args) {// TODO Auto-generated method stubPerson p1=new Person("李華");//創(chuàng)建第一個對象Person p2=new Person("小名",19);//創(chuàng)建第二個對象p1.say();//調(diào)用對象的方法p2.say();//調(diào)用對象的方法}}
輸出的結(jié)果是:
你好!我是李華,今年0歲。你好!我是小名,今年19歲。
在上面代碼中,Person類中定義了兩個參數(shù)構(gòu)造方法和一個參數(shù)構(gòu)造方法,它們是構(gòu)造方法的重載。在創(chuàng)建實例化對象,p1和p2因為傳入的參數(shù)的不同,調(diào)用的不同的構(gòu)造方法。我們發(fā)現(xiàn)兩個構(gòu)造方法給對象的屬性賦值不同,在給一個參數(shù)的構(gòu)造方法中只是給name賦值的,此時的age屬性的值是默認為0的。
三、類和數(shù)組的使用
1.一個案例來分析類和數(shù)組的使用
例如:
public class Person5 {public String name;//姓名public int age;//年齡//say()方法public void say(){System.out.println("你好!我是" + name + ",今年" + age + "歲。");}public static void main(String[] args) {// TODO Auto-generated method stub//創(chuàng)建數(shù)組Person5[] students;students = new Person5[2];//創(chuàng)建第一個對象zPerson5 z = new Person5();z.name = "張三";//給name屬性賦值z.age = 18;//給age屬性賦值//創(chuàng)建第二個對象lPerson5 l = new Person5();l.name = "李華";//給name屬性賦值l.age = 20;//給age屬性賦值//給數(shù)組賦值students[0] = z;students[1] = l;//調(diào)用方法l.say();students[0].say();}}

從上面的代碼中,定義個Person類,這個類中有成員變量name和age,還有一個say()方法。在主程序(main)方法中創(chuàng)建了數(shù)組,通過數(shù)組的下標為數(shù)組賦值,創(chuàng)建兩個對象分別給每個一個對象name屬性和age屬性賦值,最后調(diào)用Person類中的方法。
四、總結(jié)
本文主要介紹了構(gòu)造方法、構(gòu)造方法的重載、類和數(shù)組的使用。
構(gòu)造方法介紹了在實例化對象后同時給對象的屬性賦值,構(gòu)造方法的特點,通過一個案例類中如何定義構(gòu)造方法來了解這個用法。
構(gòu)造方法的重載在一個類中可以定義多個構(gòu)造方法,只要每個構(gòu)造方法參數(shù)類型或參數(shù)個數(shù)不一樣。
類和數(shù)組的使用通過一個簡單的案例來了解怎樣去使用。希望通過本文的學(xué)習(xí),對你有所幫助!
-------------------?End?-------------------
往期精彩文章推薦:

歡迎大家點贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Java學(xué)習(xí)群請在后臺回復(fù)【入群】
萬水千山總是情,點個【在看】行不行
