Java基礎(chǔ)之方法重寫和多態(tài)示例
本文實例講述了Java基礎(chǔ)之方法重寫和多態(tài)。分享給大家供大家參考,具體如下:
示例代碼:
子類的方法與父類的方法具有相同的返回類型和簽名,子類方法重寫父類方法。
class A{
int i,j; //父類變量
A(int a,int b){ //父類構(gòu)造
i=a;
j=b;
}
void show(){ //父類方法
System.out.println(i+" "+j);
}
}
class B extends A{ //繼承父類
int k; //子類變量
B(int a,int b,int c){ //子類構(gòu)造
super(a,b); //調(diào)用父類構(gòu)造
k=c;
}
void show(){ //子類方法重寫父類方法,會隱藏父類方法
System.out.println(i+" "+j);
}
void show(String msg){ //子類方法,重載父類方法(方法簽名不同,稱為重載)
//super.show(); //顯示調(diào)用父類方法
System.out.println(msg+k);
}
}
class Override{
public static void main(String[] args){
B b=new B(1,2,3);
b.show("This is k: ");
b.show();
}
}
多態(tài):父類對象可以引用子類對象,引用不同對象造成不同結(jié)果,稱為多態(tài)。
class Sup{ //父類
void who(){
System.out.println("Sup");
}
}
class Sub1 extends Sup{ //子類
void who(){
System.out.println("Sub1");
}
}
class Sub2 extends Sup{ //子類
void who(){
System.out.println("Sub2");
}
}
class DynDispDemo{
public static void main(String[] args){
Sup sup=new Sup(); //父類對象
Sub1 sub1=new Sub1(); //子類對象
Sub2 sub2=new Sub2(); //子類對象
Sup supf; //父類對象
supf=sup; //父類對象引用父類對象
supf.who(); //調(diào)用父類方法
supf=sub1; //父類對象引用子類對象
supf.who(); //調(diào)用子類方法
supf=sub2; //父類對象引用子類對象
supf.who(); //調(diào)用子類方法
}
}
更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計入門與進階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章
解讀controller層,service層,mapper層,entity層的作用與聯(lián)系
這篇文章主要介紹了關(guān)于controller層,service層,mapper層,entity層的作用與聯(lián)系,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11
使用log4j2自定義配置文件位置和文件名(附log4j2.xml配置實例)
這篇文章主要介紹了使用log4j2自定義配置文件位置和文件名(附log4j2.xml配置實例),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
JavaSE實現(xiàn)圖書管理系統(tǒng)的示例代碼
這篇博客是在學習了一部分Java基礎(chǔ)語法之后的練習項目,通過這個小項目的練習,對Java中的類和對象,抽象類和接口等進行熟悉理解??旄S小編一起學習學習吧2022-08-08

