Java中的重載和重寫(xiě)是面向?qū)ο缶幊讨械膬蓚€(gè)概念。它們都是通過(guò)在方法中改變個(gè)別因素來(lái)實(shí)現(xiàn)方法的不同行為,從而改變程序的運(yùn)行結(jié)果。
// 重載 public class OverloadingDemo { public static void main(String[] args) { OverloadingDemo obj = new OverloadingDemo(); obj.print();// 此時(shí)輸出的是無(wú)參方法 obj.print("Java重載");// 此時(shí)輸出的是有參方法 } // 無(wú)參方法 public void print() { System.out.println("Java"); } // 有參方法 public void print(String str) { System.out.println(str); } }
重載指在同一個(gè)類(lèi)中,方法名相同,但參數(shù)列表不同的方法進(jìn)行多次定義,以實(shí)現(xiàn)對(duì)同一個(gè)方法名的多重定義。在上述例子中,方法名都為print,但是一個(gè)有參數(shù)一個(gè)無(wú)參數(shù),這就是方法重載的體現(xiàn)。
// 重寫(xiě) class Animal { public void move() { System.out.println("動(dòng)物可以移動(dòng)"); } } class Dog extends Animal { public void move() { System.out.println("狗可以跑和走"); } } public class TestDog { public static void main(String args[]) { Animal a = new Animal(); // Animal 對(duì)象 Animal b = new Dog(); // Dog 對(duì)象 a.move();// 執(zhí)行 Animal 類(lèi)的方法 b.move();// 執(zhí)行 Dog 類(lèi)的方法 } }
重寫(xiě)是面向?qū)ο缶幊讨械囊环N機(jī)制,是子類(lèi)對(duì)父類(lèi)的允許訪問(wèn)的方法的實(shí)現(xiàn)過(guò)程進(jìn)行重新編寫(xiě),即在子類(lèi)中寫(xiě)一個(gè)方法,與父類(lèi)的方法名相同,返回值也相同,而參數(shù)列表卻不同。重寫(xiě)的目的是為了實(shí)現(xiàn)對(duì)父類(lèi)的方法的改進(jìn),或添加一些新的功能,使子類(lèi)對(duì)象在使用時(shí)更加靈活多變。
上一篇css屏幕禁止左右移
下一篇css屬性改背景顏色