Java之方法重寫、方法重載、多態(tài)
博客分類: java語言
Java重寫重載多態(tài)
一、方法重寫(Override)
目前創(chuàng)新互聯(lián)已為上千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、綏陽網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
子類可以重寫父類的方法。
方法的返回值類型、參數(shù)類型、參數(shù)個(gè)數(shù)都不能改變,只能重寫方法體。
方法的重寫規(guī)則
二、方法重載(Overload)
重載(overloading) 是在一個(gè)類里面,方法名字相同,而參數(shù)不同。
返回類型可以相同也可以不同。
方法的重載規(guī)則
-被重載的方法必須改變參數(shù)列表;
-被重載的方法可以改變返回類型;
-被重載的方法可以改變訪問修飾符;
-被重載的方法可以聲明新的或更廣的檢查異常;
三、多態(tài)(Polymorphism)
Polymorphism : the condition of occurring in several different forms.
父類可以引用不同的子類,這就是多態(tài)。
實(shí)現(xiàn)多態(tài)有三個(gè)必要條件:繼承、重寫、向上轉(zhuǎn)型。
注意:
1、父類的引用可以調(diào)用父類中定義的屬性和方法(可能被子類重寫),
但不能引用子類自己定義的屬性和方法。
2、子類的引用指向子類對(duì)象時(shí),可以調(diào)用父類的方法。
例子:
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