構(gòu)造器
構(gòu)造器是一個(gè)特殊的方法
最大用處就是創(chuàng)建對(duì)象時(shí)執(zhí)行初始化。
??? A。無需聲明返回值類型
? ? ? ? ? 如果聲明返回值類型,它就變成了普通方法
? ? B。構(gòu)造器的作用:構(gòu)造器并不是創(chuàng)建對(duì)象,而是初始化創(chuàng)建實(shí)例。
??? C。構(gòu)造器重載
? ? ? ? ? 完全類似于方法重載。? 兩同,? ? 同一個(gè)類,構(gòu)造器名相同
???????????????????????????????????????????????? 一不同,形參列表不同
? this 的作用:
??????? this 的引用:在構(gòu)造器中,this 代表構(gòu)造器正在初始化的對(duì)象
???????????????????????????? 在方法中,this 代表調(diào)用該方法的實(shí)例
? ? ? ? this調(diào)用? —? this調(diào)用當(dāng)前類中另一個(gè)重載的構(gòu)造器??? this()
Tiger(構(gòu)造器的重載和 this 調(diào)用)? 程序 及 運(yùn)行結(jié)果:
public class Tiger
{
??? private String name;// name 只能當(dāng)前類中訪問
??? private double weight;
??? private int age;
??? // 構(gòu)造器不能聲明返回值類型
??? // 如果聲明了,它就變成了普通方法
??? public Tiger(String name,double weight)
??? {
? ?? ?? // 該this 代表該構(gòu)造器正在初始化的實(shí)例
? ?? ?? this.name = name;
? ?? ?? this.weight = weight * 2;
??? }
??? public Tiger(String name,double weight,int age)
??? {
?? ? ?? //this.name = name;
? ? ? ? //this.weight = weight;
? ? ?? this(name,weight); // 如果this后有圓括號(hào),表明是示調(diào)用重載的構(gòu)造器
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? // 此處傳入的只有String參數(shù),那么它就會(huì)去找?guī)б粋€(gè)String參數(shù)的構(gòu)造器
? ???? this.age = age;
??? }
??? public void info()? // 相當(dāng)于顯示函數(shù)
? ? {
?? ? ?? System.out.println("I am a Tiger,我的名字是:" + name + ",體重是:"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? + weight + "年齡是:" + age);
??? }
??? public static void main(String[] args)
?? {
? ?? ?? Tiger t = new Tiger("老虎" , 123);
? ?? ?? t.info();
? ? ? ? Tiger t2 = new Tiger("劍齒虎",180.5,8);
? ?? ?? t2.info();
??? }
}
