真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java學(xué)習(xí)-構(gòu)造函數(shù)

一直學(xué)習(xí)java,都沒有把構(gòu)造函數(shù)弄清楚,通過昨天的學(xué)習(xí),現(xiàn)在有了一點點理解,不知道還有什么不知道的,望大家指導(dǎo)指導(dǎo)。

創(chuàng)新互聯(lián)公司專注于惠山網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供惠山營銷型網(wǎng)站建設(shè),惠山網(wǎng)站制作、惠山網(wǎng)頁設(shè)計、惠山網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)公司服務(wù),打造惠山網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供惠山網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

當(dāng)父類沒有任何構(gòu)造函數(shù),子類定義了一個不帶參數(shù)的構(gòu)造函數(shù),這時候在測試類里面創(chuàng)建一個子類的對象時,程序運行時,首先調(diào)用系統(tǒng)默認(rèn)的父類的構(gòu)造函數(shù),然后再調(diào)用子類的構(gòu)造函數(shù)。例子:

public class SuperClass {
private String name;
private String birthdate;

public void show() {
System.out.println("this is a public function" + name + birthdate);

}

}

public class SubClass extends SuperClass {
String address;

public SubClass() {
System.out.println("SubClass:this is a no parameter constructor");
}

public void personinformation(String _name, String _birth, String _address) {
System.out.println("output information" + _name + _birth + _address);

}

}

public class Test {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SubClass absence = new SubClass();

}
}

運行結(jié)果:SubClass:this is a no parameter constructor

當(dāng)父類里面定義了幾個構(gòu)造函數(shù),其中至少有一個不帶參數(shù),子類定義了一個不帶參數(shù)的構(gòu)造函數(shù),運行的時候,調(diào)用不帶參數(shù)的構(gòu)造函數(shù),然后再運行子類的構(gòu)造函數(shù)。

public class SuperClass {
private String name;
private String birthdate;

public SuperClass() {
name = "chen";
birthdate = "feb";

System.out.println("SuperClass:this is a no parameter constructor");
}

public SuperClass(String chen, String febu) {
name = chen;
birthdate = febu;
System.out.println("this is parameter constructor:" + name + birthdate);
}

public void show() {
System.out.println("this is a public function" + name + birthdate);

}

}

public class SubClass extends SuperClass {
String address;

public SubClass() {
System.out.println("SubClass:this is a no parameter constructor");
}

public void personinformation(String _name, String _birth, String _address) {
System.out.println("output information" + _name + _birth + _address);

}

}

public class Test {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SubClass absence = new SubClass();

}
}

運行結(jié)果:SuperClass:this is a no parameter constructor
SubClass:this is a no parameter constructor

當(dāng)父類中只定義帶參數(shù)的構(gòu)造函數(shù),父類定義的構(gòu)造函數(shù)和上面的一樣,這樣程序運行就會出現(xiàn)錯誤,編譯不能通過,會出現(xiàn)錯誤提示。因為在創(chuàng)建子類對象時,由于沒有不帶參數(shù)的構(gòu)造函數(shù),它不知道要調(diào)用父類的那個構(gòu)造函數(shù)。所以要在定義子類構(gòu)造的第一行加上調(diào)用父類的構(gòu)造函數(shù):super("hhh");根據(jù)括號里面的參數(shù)類型、個數(shù)來確定調(diào)用父類里面的那個構(gòu)造函數(shù)。例子:

public class SuperClass {
private String name;
private String birthdate;

public SuperClass(String chen, String febu) {
name = chen;
birthdate = febu;
System.out.println("this is parameter constructor:" + name + birthdate);
}

public SuperClass(String chen) {
name = chen;
System.out.println("this is parameter constructor1:" + name );
}

public void show() {
System.out.println("this is a public function" + name + birthdate);

}

}

public class SubClass extends SuperClass {
String address;

public SubClass() {

super("hhh"); //非常重要!根據(jù)他來調(diào)用父類的構(gòu)造函數(shù)
System.out.println("SubClass:this is a no parameter constructor");
}

public void personinformation(String _name, String _birth, String _address) {
System.out.println("output information" + _name + _birth + _address);

}

}

public class Test {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SubClass absence = new SubClass();

}
}

運行結(jié)果:this is parameter constructor1:hhh


網(wǎng)頁標(biāo)題:java學(xué)習(xí)-構(gòu)造函數(shù)
文章轉(zhuǎn)載:http://weahome.cn/article/shepid.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部