方法重載
概念:一個(gè)類中,一個(gè)功能方法的多種體現(xiàn)形式(有不同的方法體)校辩,就是同一個(gè)功能的方法填抬,因?yàn)閰?shù)的不同烛芬,調(diào)用的具體的方法也不同。
判定方法是否時(shí)重載飒责,要同時(shí)滿足一下三個(gè)條件:
1赘娄、必須在同一個(gè)類中;
2宏蛉、方法的名稱必須一致
3遣臼、參數(shù)列表必須不同(順序,個(gè)數(shù)拾并,類型)
與修飾符揍堰,返回值,void等等都沒有關(guān)系
優(yōu)點(diǎn):
1嗅义、簡化了開發(fā)的壓力
2屏歹、簡化了記憶的壓力
3、調(diào)用方法更方便之碗,更簡潔蝙眶,又滿足了不同的情況
基本原理:
? ? 當(dāng)方法名稱一致時(shí),通過形式參數(shù)列表的不同來選擇要執(zhí)行的方法褪那。
構(gòu)造方法:
構(gòu)造方法是一種很特殊的方法幽纷。
聲明的語法:public 類名(){}
修飾符:只能有訪問權(quán)限的修飾符,public博敬。不能加static友浸。
返回值:沒有返回值,也不能寫void偏窝。
方法名:必須和類名相同
調(diào)用的方式:new 關(guān)鍵字調(diào)用
new關(guān)鍵字后面跟著構(gòu)造方法即可收恢。
作用:專門用于創(chuàng)建對象武学。
普通方法:
一段具有特殊功能的代碼。而且可以被多次調(diào)用執(zhí)行派诬。
聲明的語法:例如:public static void main(String[] args){}
調(diào)用的方式:方法名(實(shí)參)劳淆;
作用:
1、避免重復(fù)的代碼增強(qiáng)程序的可讀性默赂。
2沛鸵、提高程序的可維護(hù)性。
Java反編譯工具:
我們現(xiàn)在將class文件缆八,進(jìn)行反編譯曲掰,可以看見類似于底層語言
????????????????????javap -c -l -private XXX.class
Java編譯器提供的默認(rèn)的構(gòu)造方法
java編譯器,發(fā)現(xiàn)代碼中沒有任何的構(gòu)造方法奈辰,在編譯時(shí)栏妖,會自動(dòng)的幫我們添加一個(gè)無參的構(gòu)造方法。
如果代碼中自己寫了構(gòu)造方法奖恰,那么編譯器不再幫我們添加無參的構(gòu)造方法吊趾。
????????????????????????????????構(gòu)造方法與普通方法的區(qū)別
this 關(guān)鍵字
就近原則:
在程序當(dāng)中,有個(gè)就近原則瑟啃,一旦名字沖突论泛,就要看離哪個(gè)聲明近。
用法1:
表示當(dāng)前對象:
使用this關(guān)鍵字蛹屿,明確的告訴編譯器屁奏,this(this.)后的這個(gè)變量,就是成員變量错负。對象的屬性坟瓢。沒有this的就是參數(shù)。
用法2:
this()指代當(dāng)前類的構(gòu)造方法犹撒。
this(參數(shù))折联,就表示的構(gòu)造方法。
如果一個(gè)類中识颊,有多個(gè)構(gòu)造方法崭庸,之間存在了調(diào)用關(guān)系,那么使用this()來指代這個(gè)構(gòu)造方法谊囚。具體指代哪個(gè)構(gòu)造方法,要靠參數(shù)來區(qū)分执赡。
注意點(diǎn):當(dāng)this()指代構(gòu)造方法镰踏,那么必須放在首行。