Java構(gòu)造方法實(shí)例詳解(動(dòng)力節(jié)點(diǎn)java學(xué)院整理)
構(gòu)造函數(shù)是一種特殊的函數(shù)。其主要功能是用來(lái)在創(chuàng)建對(duì)象時(shí)初始化對(duì)象, 即為v對(duì)象成員變量賦初始值,總與new運(yùn)算符一起使用在創(chuàng)建對(duì)象的語(yǔ)句中。構(gòu)造函數(shù)與類名相同,可重載多個(gè)不同的構(gòu)造函數(shù)。在JAVA語(yǔ)言中,構(gòu)造函數(shù)與C++語(yǔ)言中的構(gòu)造函數(shù)相同,JAVA語(yǔ)言中普遍稱之為構(gòu)造方法。
使用構(gòu)造器時(shí)需要記?。?/strong>
1.構(gòu)造器必須與類同名(如果一個(gè)源文件中有多個(gè)類,那么構(gòu)造器必須與公共類同名)
2.每個(gè)類可以有一個(gè)以上的構(gòu)造器
3.構(gòu)造器可以有0個(gè)、1個(gè)或1個(gè)以上的參數(shù)
4.構(gòu)造器沒有返回值
5.構(gòu)造器總是伴隨著new操作一起調(diào)用
示例:
A.java
Java代碼
public class A{
public A(){
System.out.println("調(diào)用了無(wú)參的構(gòu)造函數(shù)");
}
public A(String mess){
System.out.println("調(diào)用了有參的構(gòu)造函數(shù)\n"+
"參數(shù)內(nèi)容為:"+mess);
}
}
Test.java
Java代碼
public class Test{
public static void main(String [] args){
A a_1=new A();//調(diào)用無(wú)參的構(gòu)造函數(shù)
A a_2=new A("Hello");//調(diào)用有參的構(gòu)造函數(shù)
}
}
輸出結(jié)果:

繼承與構(gòu)造函數(shù)
使用super調(diào)用父類構(gòu)造器的語(yǔ)句必須是子類構(gòu)造器的第一條語(yǔ)句
如果子類構(gòu)造器沒有顯式地調(diào)用父類的構(gòu)造器,則將自動(dòng)調(diào)用父類的默認(rèn)(沒有參數(shù))的構(gòu)造器。如果父類沒有不帶參數(shù)的構(gòu)造器,并且在子類的構(gòu)造器中又沒有顯式地調(diào)用父類的構(gòu)造器,則java編譯器將報(bào)告錯(cuò)誤
示例:
A.java
Java代碼
public class A{
public A(){
System.out.println("調(diào)用了A的無(wú)參構(gòu)造函數(shù)");
}
public A(String mess){
System.out.println("調(diào)用了A的有參的構(gòu)造函數(shù)\n"+
"參數(shù)內(nèi)容為:"+mess);
}
}
B.java
Java代碼
public class B extends A{
public B(){
System.out.println("調(diào)用了B的無(wú)參構(gòu)造函數(shù)");
}
public B(String mess){
super(mess);
System.out.println("調(diào)用了B的有參構(gòu)造函數(shù)\n"+
"參數(shù)內(nèi)容為:"+mess);
}
}
Test.java
Java代碼
public class Test{
public static void main(String [] args){
B b_01=new B();
B b_02=new B("你好");
}
}
輸出結(jié)果:

以上所述是小編給大家介紹的Java構(gòu)造方法實(shí)例詳解(動(dòng)力節(jié)點(diǎn)java學(xué)院整理),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Java中用POI實(shí)現(xiàn)將數(shù)據(jù)導(dǎo)出到Excel
這篇文章主要介紹了Java中用POI實(shí)現(xiàn)將數(shù)據(jù)導(dǎo)出到Excel,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下2021-04-04
JAVA 根據(jù)身份證計(jì)算年齡的實(shí)現(xiàn)代碼
這篇文章主要介紹了JAVA 根據(jù)身份證計(jì)算年齡的實(shí)例代碼及java根據(jù)出生日期獲得年齡的方法,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-05-05
SpringBoot+Vue項(xiàng)目部署上線的實(shí)現(xiàn)示例
本文主要介紹了SpringBoot+Vue項(xiàng)目部署上線的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-02-02
java實(shí)現(xiàn)網(wǎng)頁(yè)解析示例
這篇文章主要介紹了java實(shí)現(xiàn)網(wǎng)頁(yè)解析示例,需要的朋友可以參考下2014-04-04
詳解java開啟異步線程的幾種方法(@Async,AsyncManager,線程池)
在springboot框架中,可以使用注解簡(jiǎn)單實(shí)現(xiàn)線程的操作,還有AsyncManager的方式,如果需要復(fù)雜的線程操作,可以使用線程池實(shí)現(xiàn),本文通過實(shí)例代碼介紹java開啟異步線程的幾種方法(@Async,AsyncManager,線程池),感興趣的朋友一起看看吧2023-09-09
使用@Valid+BindingResult進(jìn)行controller參數(shù)校驗(yàn)方式
這篇文章主要介紹了使用@Valid+BindingResult進(jìn)行controller參數(shù)校驗(yàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
詳細(xì)談?wù)凧ava中l(wèi)ong和double的原子性
原子性是指一個(gè)操作或多個(gè)操作要么全部執(zhí)行,且執(zhí)行的過程不會(huì)被任何因素打斷,要么就都不執(zhí)行,下面這篇文章主要給大家介紹了關(guān)于Java中l(wèi)ong和double原子性的相關(guān)資料,需要的朋友可以參考下2021-08-08

