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