您好,登錄后才能下訂單哦!
Java之方法重寫、方法重載、多態
博客分類: java語言
Java重寫重載多態
一、方法重寫(Override)
子類可以重寫父類的方法。
方法的返回值類型、參數類型、參數個數都不能改變,只能重寫方法體。
方法的重寫規則
二、方法重載(Overload)
重載(overloading) 是在一個類里面,方法名字相同,而參數不同。
返回類型可以相同也可以不同。
方法的重載規則
-被重載的方法必須改變參數列表;
-被重載的方法可以改變返回類型;
-被重載的方法可以改變訪問修飾符;
-被重載的方法可以聲明新的或更廣的檢查異常;
三、多態(Polymorphism)
Polymorphism : the condition of occurring in several different forms.
父類可以引用不同的子類,這就是多態。
實現多態有三個必要條件:繼承、重寫、向上轉型。
注意:
1、父類的引用可以調用父類中定義的屬性和方法(可能被子類重寫),
但不能引用子類自己定義的屬性和方法。
2、子類的引用指向子類對象時,可以調用父類的方法。
例子:
Java代碼 收藏代碼
public class A {
public String show(D obj) {
return ("A and D");
}
public String show(A obj) {
return ("A and A");
}
}
public class B extends A{
public String show(B obj){
return ("B and B");
}
public String show(A obj){
return ("B and A");
}
}
public class C extends B{
}
public class D extends B{
}
public class Test {
public static void main(String[] args) {
A a1 = new A();
A a2 = new B();
B b = new B();
C c = new C();
D d = new D();
System.out.println("1--" + a1.show(b));
System.out.println("2--" + a1.show(c));
System.out.println("3--" + a1.show(d));
System.out.println("4--" + a2.show(b));
System.out.println("5--" + a2.show(c));
System.out.println("6--" + a2.show(d));
System.out.println("7--" + b.show(b));
System.out.println("8--" + b.show(c));
System.out.println("9--" + b.show(d));
}
}
/*
1--A and A
2--A and A
3--A and D
4--B and A
5--B and A
6--A and D
7--B and B
8--B and B
9--A and D
*/
引用:
http://www.cnblogs.com/chenssy/p/3372798.html
http://www.runoob.com/java/java-override-overload.html
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。