亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中怎么重寫繼承方法

發布時間:2021-08-10 14:18:48 來源:億速云 閱讀:111 作者:Leah 欄目:編程語言

Java中怎么重寫繼承方法,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

代碼體現

package com.my.pac12;/** * @author Summerday * @date 2019/12/11 21:26 */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注解對方法重寫起到輔助作用,并不會對代碼本身產生影響。

標注該注解,向人表明下面的方法將要重寫父類的某些方法。

標注該注解,向機器表明下面部分將要重寫,讓機器幫忙檢查錯誤。如果不是重寫,那么就會產生讓人不舒服的提示,如圖所示。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昭觉县| 伊金霍洛旗| 诸暨市| 太保市| 高雄市| 克山县| 白沙| 曲靖市| 隆子县| 兴义市| 绥滨县| 克拉玛依市| 德化县| 遂宁市| 化德县| 靖西县| 邵阳县| 当阳市| 马公市| 祁阳县| 大丰市| 洛阳市| 东城区| 堆龙德庆县| 综艺| 云和县| 津市市| 察隅县| 蓝田县| 保德县| 章丘市| 花垣县| 栾川县| 长垣县| 潍坊市| 扶绥县| 年辖:市辖区| 沂南县| 武义县| 丽水市| 石河子市|