Java 多態(tài)重載
多態(tài)
多態(tài)是面向?qū)ο缶幊塘硪粋€(gè)重要的特性,它是指一個(gè)對(duì)象的行為可以有多種不同的表現(xiàn)形 式。當(dāng)一個(gè)子類(lèi)繼承了父類(lèi),并且重寫(xiě)了父類(lèi)的方法,在創(chuàng)建對(duì)象時(shí)使用了父類(lèi)引用指向子類(lèi)對(duì) 象,這時(shí)就存在多態(tài)。
前面章節(jié)中介紹了類(lèi)的構(gòu)造方法,在實(shí)際使用中會(huì)出現(xiàn)使用多種不同的方法來(lái)創(chuàng)建對(duì)象的 情況,如有時(shí)需要初始化該類(lèi)的全部屬性,有時(shí)則只需要初始化部分屬性。 java中提供了重載 (overload),使構(gòu)造方法可以有多種被調(diào)用的方式。
和重寫(xiě)Overload有些相似,重載Overload是指在一個(gè)類(lèi)里的方法名稱(chēng)相同,但是入?yún)⒉煌?以是個(gè)數(shù)的不同,也可以是類(lèi)型的不同),返回類(lèi)型也可以不同。每個(gè)重載方法的調(diào)用是通過(guò)參 數(shù)類(lèi)型和參數(shù)個(gè)數(shù)來(lái)作區(qū)分的,程序會(huì)根據(jù)人參動(dòng)態(tài)識(shí)別具體調(diào)用的是哪個(gè)方法。重載不僅可以 發(fā)生在同名的構(gòu)造方法中,也可以發(fā)生在其他同名的普通方法中。
//重載示例
public class OverLoadSanple {
public void printName() {
System.out.println("零入?yún)⒎椒ㄕ{(diào)用");
}
public void printName(String name) {
System.out.println("一個(gè)入?yún)⒎椒ㄕ{(diào)用:"+name);
}
public void printName(int i) {
System.out.println("不同類(lèi)型入?yún)⒎椒ㄕ{(diào)用:"+i);
}
public void printName(String name,String id) {
System.out.println("不同入?yún)€(gè)數(shù)方法調(diào)用");
}
public static void main(String[] args) {
OverLoadSanple sample =new OverLoadSanple();
sample.printName();
sample.printName("一個(gè)入?yún)?quot;);
sample.printName(1);
sample.printName("入?yún)€(gè)數(shù)不同","入?yún)€(gè)數(shù)不同");
}
}
點(diǎn)擊加載更多評(píng)論>>