本篇文章為大家展示了怎么在Java中重寫繼承方法,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
成都創新互聯專業為企業提供太康網站建設、太康做網站、太康網站設計、太康網站制作等企業網站建設、網頁設計與制作、太康企業網站模板建站服務,10年太康做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。
package com.my.pac12; public class Person { public void say(){ System.out.println("say something.."); } public static void see(){ System.out.println("see something.."); } public int returnNumber(int number){ return number; } private void run(){ System.out.println("running .."); } public Person returnPerson(){ return this; } } class student extends Person{ //方法名相同,形參列表相同 public void say(){ System.out.println("student say something.."); } //返回類型為父類或父類的子類 public Person returnPerson(){ System.out.println("子類返回類型可以是父類返回類型或者是其子類類型"); return this; } //并不是重寫,只是重新定義了新方法 public void run(){ System.out.println("student is running.."); } //不是重寫,而是發生在父類與子類之間的重載 public int returnNuber(int number,int otherNumber){ return number+otherNumber; } public static void main(String[] args) { student s = new student(); s.say(); student.see(); s.see(); s.run(); //涉及向上轉型 Person sn = s.returnPerson(); //調用的是父類的方法 System.out.println(s.returnNumber(5)); //調用子類重載父類的方法 System.out.println(s.returnNuber(5,5)); } }
概念
子類包含與父類同名,同參數列表的現象就是方法重寫(Override),也叫方法覆蓋。
注意事項
"兩同兩小一大"
方法名相同,形參列表相同。
子類方法返回值類型小于等于父類方法返回值類型。
//父類 public int returnNumber(int number){ return number; } /*基本類型:子類返回值類型小于等于父類返回值類型,下面的語句不允許*/ //子類 public long returnNumber(int number)
//父類 public void say(){ System.out.println("say something.."); } /*void類型只能由同樣void類型的方法重寫*/ //子類 public void say(){ System.out.println("student say something.."); }
//父類 public Person returnPerson(){ return this; } /*引用類型:子類返回值類型需要與父類相同或者是父類的子類*/ //子類 public Person returnPerson(){ System.out.println("子類返回類型可以是父類返回類型或者是其子類類型"); return this; }
子類方法聲明拋出的異常類小于等于父類拋出的異常類。(這個部分之后再進行補充)
子類方法的訪問權限大于等于父類方法的訪問權限。
//父類 public void say(){ System.out.println("say something.."); } /*子類方法的訪問權限大于等于父類方法的訪問權限,下面的語句不允許*/ //子類 private(protected or 缺省) void say()
其他注意點
兩者必須同為類方法或者同為實例方法。(實際上類方法無法被重寫,只是單純被隱藏起來,關于static關鍵字之后再總結)
//父類 public static void see(){ System.out.println("see something.."); } /*兩者必須同為類方法(static修飾)或者同為實例方法,下面的語句不允許*/ //子類 public void see()
父類被private修飾,子類無法重寫父類。
//父類 private void run(){ System.out.println("running .."); } /*子類無法重寫方法,下面的語句是假象,其實是重新定義了一個新方法*/ //子類 public void run(){ System.out.println("student is running.."); }
重寫與重載
重載主要(對!是主要)發生在同一個類的多個同名方法之間,且參數列表不同。
為什么說是主要呢,因為重載有可能在子類與父類之間發生,如下:
//父類 public int returnNumber(int number){ return number; } /*發生在父類與子類之間的重載*/ //子類 public int returnNuber(int number,int otherNumber){ return number+otherNumber; }
重寫是發生在父類與子類同名方法之間,且參數列表相同。
@Override注解
@Override注解對方法重寫起到輔助作用,并不會對代碼本身產生影響。
標注該注解,向人表明下面的方法將要重寫父類的某些方法。
標注該注解,向機器表明下面部分將要重寫,讓機器幫忙檢查錯誤。如果不是重寫,那么就會產生讓人不舒服的提示,如圖所示。
上圖也驗證了三種不是方法重寫的例子:
static修飾的父類方法。
private修飾的父類方法。
子類重載而非重寫父類方法。
Java的基本數據類型分為:1、整數類型,用來表示整數的數據類型。2、浮點類型,用來表示小數的數據類型。3、字符類型,字符類型的關鍵字是“char”。4、布爾類型,是表示邏輯值的基本數據類型。
上述內容就是怎么在Java中重寫繼承方法,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創新互聯行業資訊頻道。
本文題目:怎么在Java中重寫繼承方法
網站路徑:http://vcdvsql.cn/article42/gjcsec.html
成都網站建設公司_創新互聯,為您提供網站營銷、App設計、搜索引擎優化、網站內鏈、網頁設計公司、面包屑導航
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯