java 08_Java08-构造方法
Java08-構(gòu)造方法
一、構(gòu)造方法
1、什么是構(gòu)造方法?
構(gòu)造方法(類方法)是一個(gè)方法名和類名相容的特殊的成員方法。
2、構(gòu)造方法的作用?
當(dāng)使用new關(guān)鍵字創(chuàng)建一個(gè)對(duì)象時(shí),為新建對(duì)象在堆內(nèi)存開辟一個(gè)空間之后,Java系統(tǒng)將自動(dòng)調(diào)用構(gòu)造方法初始化該新建對(duì)象。
3、對(duì)象初始化過程
二、構(gòu)造方法的定義與調(diào)用
1、定義:
class 類名{
[訪問權(quán)限] 類名(參數(shù)表){
語句體;
//構(gòu)造方法沒有返回值
}
}
2、調(diào)用:
類名 對(duì)象名 = new 構(gòu)造方法名(實(shí)參表);
3、棧內(nèi)存、堆內(nèi)存
Person p1 = new Person();
上述語句中有兩個(gè)對(duì)象:引用對(duì)象和內(nèi)存對(duì)象
具體的存儲(chǔ)方式如下圖:
注:new運(yùn)算符開辟的存儲(chǔ)區(qū)都在堆內(nèi)存中
三、構(gòu)造方法:初始化對(duì)象
1、方法名必須和類名相同;
2、定義類時(shí),若沒有定義構(gòu)造方法,java會(huì)自動(dòng)生成一個(gè)無參的構(gòu)造方法;若定義了構(gòu)造方法,將會(huì)把自動(dòng)生成的夠造方法覆蓋掉。
3、構(gòu)造方法沒有返回值,而普通的成員方法必須要有返回值類型;
4、構(gòu)造方法只能用new運(yùn)算符調(diào)用,不能用對(duì)象名調(diào)用;
四、構(gòu)造方法的重載
1、方法重載:方法名相同,參數(shù)列表不同,實(shí)現(xiàn)的效果也不同;
2、構(gòu)造方法的重載:給構(gòu)造方法傳遞不同的參數(shù),就能實(shí)現(xiàn)不同形式的初始化;
3、構(gòu)造方法與普通方法的區(qū)別:構(gòu)造方法是類的一種特殊方法,其特殊性如下:
(1)可以重載;
(2)方法名與類名相同;
(3)不能有返回值,不使用return語句;
(4)不能由編程人員顯式的直接調(diào)用(即不能通過“對(duì)象名.方法名();”的方式調(diào)用),只能通過new操作符調(diào)用;
(5)缺省的空構(gòu)造方法:在java語言中,每個(gè)類都至少有一個(gè)構(gòu)造方法,如果累的定義者沒有顯式的定義任何構(gòu)造方法,系統(tǒng)將自動(dòng)提供一個(gè)缺省的構(gòu)造方法;如果定義了一個(gè)或多個(gè)構(gòu)造方法,系統(tǒng)將不再缺省。
4、構(gòu)造方法與普通成員方法的區(qū)別?
(1)構(gòu)造方法名與類名相同,成員方法自定義;
(2)構(gòu)造方法沒有返回值,即沒有方法類型;
(3)構(gòu)造方法由系統(tǒng)調(diào)用,用來實(shí)例化對(duì)象;
總結(jié)
以上是生活随笔為你收集整理的java 08_Java08-构造方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 戴尔g7怎么说明win已激活 如何确定D
- 下一篇: win10图标的字突然变大了怎么办啊 突