欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

怎么在Java中重寫繼承方法

本篇文章為大家展示了怎么在Java中重寫繼承方法,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供太康網(wǎng)站建設(shè)、太康做網(wǎng)站、太康網(wǎng)站設(shè)計(jì)、太康網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、太康企業(yè)網(wǎng)站模板建站服務(wù),10年太康做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

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..");
  }
  //不是重寫,而是發(fā)生在父類與子類之間的重載
  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();
    //涉及向上轉(zhuǎn)型
    Person sn = s.returnPerson();
    //調(diào)用的是父類的方法
    System.out.println(s.returnNumber(5));
    //調(diào)用子類重載父類的方法
    System.out.println(s.returnNuber(5,5));

  }
}

概念

子類包含與父類同名,同參數(shù)列表的現(xiàn)象就是方法重寫(Override),也叫方法覆蓋。

注意事項(xiàng)

"兩同兩小一大"

方法名相同,形參列表相同。

子類方法返回值類型小于等于父類方法返回值類型。

//父類
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;
}

子類方法聲明拋出的異常類小于等于父類拋出的異常類。(這個(gè)部分之后再進(jìn)行補(bǔ)充)

子類方法的訪問權(quán)限大于等于父類方法的訪問權(quán)限。

//父類
public void say(){
  System.out.println("say something..");
}
/*子類方法的訪問權(quán)限大于等于父類方法的訪問權(quán)限,下面的語句不允許*/
//子類
private(protected or 缺省) void say()

其他注意點(diǎn)

兩者必須同為類方法或者同為實(shí)例方法。(實(shí)際上類方法無法被重寫,只是單純被隱藏起來,關(guān)于static關(guān)鍵字之后再總結(jié))

//父類
public static void see(){
  System.out.println("see something..");
}
/*兩者必須同為類方法(static修飾)或者同為實(shí)例方法,下面的語句不允許*/
//子類
public void see()

父類被private修飾,子類無法重寫父類。

//父類
private void run(){
  System.out.println("running ..");
}
/*子類無法重寫方法,下面的語句是假象,其實(shí)是重新定義了一個(gè)新方法*/
//子類
public void run(){
  System.out.println("student is running..");
}

重寫與重載

重載主要(對(duì)!是主要)發(fā)生在同一個(gè)類的多個(gè)同名方法之間,且參數(shù)列表不同。
為什么說是主要呢,因?yàn)橹剌d有可能在子類與父類之間發(fā)生,如下:

//父類
public int returnNumber(int number){
  return number;
}
/*發(fā)生在父類與子類之間的重載*/
//子類
public int returnNuber(int number,int otherNumber){
  return number+otherNumber;
}

重寫是發(fā)生在父類與子類同名方法之間,且參數(shù)列表相同。

@Override注解

@Override注解對(duì)方法重寫起到輔助作用,并不會(huì)對(duì)代碼本身產(chǎn)生影響。

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

標(biāo)注該注解,向機(jī)器表明下面部分將要重寫,讓機(jī)器幫忙檢查錯(cuò)誤。如果不是重寫,那么就會(huì)產(chǎn)生讓人不舒服的提示,如圖所示。

怎么在Java中重寫繼承方法

上圖也驗(yàn)證了三種不是方法重寫的例子:

  • static修飾的父類方法。

  • private修飾的父類方法。

  • 子類重載而非重寫父類方法。

java基本數(shù)據(jù)類型有哪些

Java的基本數(shù)據(jù)類型分為:1、整數(shù)類型,用來表示整數(shù)的數(shù)據(jù)類型。2、浮點(diǎn)類型,用來表示小數(shù)的數(shù)據(jù)類型。3、字符類型,字符類型的關(guān)鍵字是“char”。4、布爾類型,是表示邏輯值的基本數(shù)據(jù)類型。

上述內(nèi)容就是怎么在Java中重寫繼承方法,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文題目:怎么在Java中重寫繼承方法
網(wǎng)站路徑:http://chinadenli.net/article42/gjcsec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷、App設(shè)計(jì)搜索引擎優(yōu)化、網(wǎng)站內(nèi)鏈網(wǎng)頁(yè)設(shè)計(jì)公司、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)