久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      完全掌握J(rèn)ava中的方法重寫(xiě)

      本篇文章給大家?guī)?lái)了關(guān)于java的相關(guān)知識(shí),子類繼承父類后,可以在子類中書(shū)寫(xiě)一個(gè)與父類同名同參的方法,從而實(shí)現(xiàn)對(duì)父類中同名同參數(shù)的方法的覆蓋,我們把這一過(guò)程叫做方法的重寫(xiě),下面一起來(lái)看一下,希望對(duì)大家有幫助。

      完全掌握J(rèn)ava中的方法重寫(xiě)

      推薦學(xué)習(xí):《java視頻教程》

      1.含義

      子類繼承父類后,可以在子類中書(shū)寫(xiě)一個(gè)與父類同名同參的方法,從而實(shí)現(xiàn)對(duì)父類中同名同參數(shù)的方法的覆蓋,我們把這一過(guò)程叫做方法的重寫(xiě)(override)

      2.為什么要使用方法重寫(xiě)

      2.1 當(dāng)父類的方法滿足不了子類的需求的時(shí)候,需要在子類中對(duì)該方法進(jìn)行重寫(xiě)

      2.2 題目與分析

      例如存在一個(gè)父類Peple,子類Chinese,父類中有一個(gè)say()方法,輸出人在說(shuō)話,但是我想要的時(shí)子類時(shí)候調(diào)用時(shí)輸出中國(guó)人在說(shuō)話,很顯然直接調(diào)用方法不行,所以需要在子類中對(duì)say方法進(jìn)行方法的重寫(xiě)

      2.3 示例代碼

      People類

      public class Peple {     private String name;     private String sex;     private int age;     private int weight;      public Peple() {     }      public Peple(String name, String sex, int age, int weight) {         this.name = name;         this.sex = sex;         this.age = age;         this.weight=weight;     }      public String getName() {         return name;     }      public void setName(String name) {         this.name = name;     }      public String getSex() {         return sex;     }      public void setSex(String sex) {         this.sex = sex;     }      public int getAge() {         return age;     }      public void setAge(int age) {         this.age = age;     }     public int getWeight() {         return weight;     }      public void setWeight(int weight) {         this.weight = weight;     }     public void say(){         System.out.println("人在說(shuō)話");     }  }

      Chinese類

      public class Chinese extends Peple{     public Chinese() {     }     @Override     public void say() {         System.out.println("中國(guó)人在說(shuō)話");     } }

      Test03類

      public class Test03 {     public static void main(String[] args) {         Chinese c=new Chinese();         c.say();         //當(dāng)進(jìn)行方法重寫(xiě)時(shí),調(diào)用的是子類的say()方法     } }

      2.4 示例代碼運(yùn)行截圖

      完全掌握J(rèn)ava中的方法重寫(xiě)

      3.如何使用方法重寫(xiě)

      3.1 基本語(yǔ)法

      @Override 權(quán)限修飾符 返回值類型 方法名(形參列表){     //子類重寫(xiě)的方法的權(quán)限修飾符的訪問(wèn)權(quán)限必須大于等于父類的,但是父類不能是private     //當(dāng)父類的返回值類型為基本數(shù)據(jù)類型或者為void時(shí),子類方法的返回值類型也應(yīng)該為對(duì)應(yīng)的基本數(shù)據(jù)類型或者void    }

      3.2 具體分析

      3.2.1 子類重寫(xiě)的方法的訪問(wèn)權(quán)限應(yīng)該大于等于父類方法的訪問(wèn)權(quán)限

      a 示例代碼

      People類

      public class Peple {     private String name;     private String sex;     private int age;     private int weight;      public Peple() {     }      public Peple(String name, String sex, int age, int weight) {         this.name = name;         this.sex = sex;         this.age = age;         this.weight=weight;     }      public String getName() {         return name;     }      public void setName(String name) {         this.name = name;     }      public String getSex() {         return sex;     }      public void setSex(String sex) {         this.sex = sex;     }      public int getAge() {         return age;     }      public void setAge(int age) {         this.age = age;     }     public int getWeight() {         return weight;     }      public void setWeight(int weight) {         this.weight = weight;     }     //沒(méi)有寫(xiě)訪問(wèn)權(quán)限的話,默認(rèn)是default訪問(wèn)權(quán)限     void say(){         System.out.println("人在說(shuō)話");     }  }

      Chinese類

      public class Chinese extends Peple{     public Chinese(){     }     //父類say方法的訪問(wèn)權(quán)限為default,子類say方法的訪問(wèn)權(quán)限為public,     // 符合子類方法訪問(wèn)權(quán)限大于等于父類方法訪問(wèn)權(quán)限的要求     @Override     public void say() {         System.out.println("中國(guó)人在說(shuō)話");     } }

      Test03類

      public class Test03 {     public static void main(String[] args) {         Chinese c=new Chinese();         c.say();     } }

      b 示例代碼運(yùn)行截圖

      完全掌握J(rèn)ava中的方法重寫(xiě)

      3.2.2 當(dāng)父類方法的返回值類型為基本數(shù)據(jù)類型時(shí),子類重寫(xiě)的方法的返回值類型也為對(duì)應(yīng)的基本數(shù)據(jù)類型

      a 示例代碼

      People類

      public class Peple {     private String name;     private String sex;     private int age;     private int weight;      public Peple() {     }      public Peple(String name, String sex, int age, int weight) {         this.name = name;         this.sex = sex;         this.age = age;         this.weight=weight;     }      public String getName() {         return name;     }      public void setName(String name) {         this.name = name;     }      public String getSex() {         return sex;     }      public void setSex(String sex) {         this.sex = sex;     }      public int getAge() {         return age;     }      public void setAge(int age) {         this.age = age;     }     public int getWeight() {         return weight;     }      public void setWeight(int weight) {         this.weight = weight;     }     public double add(int a,int b){        return a+b;     }  }

      Chinese類

      public class Chinese extends Peple{     public Chinese(){     }     @Override     public double add(int a,int b) {        return a+b+1;     } }

      Test03類

      public class Test03 {     public static void main(String[] args) {         Chinese c=new Chinese();         System.out.println("求和之和再加上1的結(jié)果為: "+c.add(2, 3));     } }

      b 示例代碼運(yùn)行截圖

      完全掌握J(rèn)ava中的方法重寫(xiě)

      3.2.3 當(dāng)父類方法的返回值類型為void時(shí),子類重寫(xiě)的方法的返回值類型也為void

      a 示例代碼

      People類

      public class Peple {     private String name;     private String sex;     private int age;     private int weight;      public Peple() {     }      public Peple(String name, String sex, int age, int weight) {         this.name = name;         this.sex = sex;         this.age = age;         this.weight=weight;     }      public String getName() {         return name;     }      public void setName(String name) {         this.name = name;     }      public String getSex() {         return sex;     }      public void setSex(String sex) {         this.sex = sex;     }      public int getAge() {         return age;     }      public void setAge(int age) {         this.age = age;     }     public int getWeight() {         return weight;     }      public void setWeight(int weight) {         this.weight = weight;     }     public void eat(){         System.out.println("人的主食一般是熟食");     }  }

      Chinese類

      public class Chinese extends Peple{     public Chinese(){     }     @Override     public void eat() {         System.out.println("中國(guó)人的主食是大米或者小麥");     } }

      Test03類

      public class Test03 {     public static void main(String[] args) {         Chinese c=new Chinese();         c.eat();     } }

      b 示例代碼運(yùn)行截圖

      完全掌握J(rèn)ava中的方法重寫(xiě)

      3.2.4 當(dāng)父類的方法被static修飾的時(shí)候,子類是不能重寫(xiě)該方法的

      a 錯(cuò)誤示例代碼

      People類

      public class Peple {     private String name;     private String sex;     private int age;     private int weight;      public Peple() {     }      public Peple(String name, String sex, int age, int weight) {         this.name = name;         this.sex = sex;         this.age = age;         this.weight=weight;     }      public String getName() {         return name;     }      public void setName(String name) {         this.name = name;     }      public String getSex() {         return sex;     }      public void setSex(String sex) {         this.sex = sex;     }      public int getAge() {         return age;     }      public void setAge(int age) {         this.age = age;     }     public int getWeight() {         return weight;     }      public void setWeight(int weight) {         this.weight = weight;     }     public static void eat(){         System.out.println("人的主食一般是熟食");     }  }

      Chinese類

      public class Chinese extends Peple{     public Chinese(){     }     @Override     public void eat() {         System.out.println("中國(guó)人的主食是大米或者小麥");     } }

      Test03類

      public class Test03 {     public static void main(String[] args) {         Chinese c=new Chinese();         c.eat();     } }

      b 示例代碼運(yùn)行截圖

      編譯時(shí)idea給出的錯(cuò)誤提示

      完全掌握J(rèn)ava中的方法重寫(xiě)

      強(qiáng)制運(yùn)行后給出的錯(cuò)誤提示

      完全掌握J(rèn)ava中的方法重寫(xiě)

      3.3 方法重寫(xiě)的一些小技巧

      3.3.1 復(fù)制法

      步驟

      1.先直接復(fù)制(Ctrl+C)父類中需要被子類重寫(xiě)的那個(gè)方法

      2.粘貼(Ctrl+V)到子類中

      3.修改子類中的功能,便于實(shí)現(xiàn)父類實(shí)現(xiàn)不了的需求

      操作截圖展示

      完全掌握J(rèn)ava中的方法重寫(xiě)

      完全掌握J(rèn)ava中的方法重寫(xiě)

      3.3.2 編譯器提示法

      步驟

      1.先在子類類體中,非方法內(nèi)位置,寫(xiě)入一個(gè)英文@符號(hào)

      2.選中提示中的Overide/implement methods…

      3.雙擊后彈出一個(gè)重寫(xiě)方法選擇列表彈窗

      4.根據(jù)提示選中對(duì)應(yīng)的需要重寫(xiě)的方法

      5.點(diǎn)擊ok按鈕后會(huì)在子類中生成一個(gè)你選中方法的重寫(xiě)方法

      6.把生成的重寫(xiě)方法中的自動(dòng)生成的首行去掉,然后根據(jù)需求在方法體里面寫(xiě)入合適的語(yǔ)句

      操作截圖展示

      完全掌握J(rèn)ava中的方法重寫(xiě)

      完全掌握J(rèn)ava中的方法重寫(xiě)

      完全掌握J(rèn)ava中的方法重寫(xiě)

      3.3.3 快捷鍵法

      步驟

      1.把鼠標(biāo)移動(dòng)到重寫(xiě)方法應(yīng)該生成的位置

      2.同時(shí)按下鍵盤上的Alt鍵和Insert鍵,

      3.在彈出框中,選中Override Methods

      4.雙擊后會(huì)彈出一個(gè)界面,在界面中選中需要被子類重寫(xiě)的方法

      5.點(diǎn)擊OK按鈕后會(huì)生成所需要的重寫(xiě)方法

      6.去掉重寫(xiě)方法中自動(dòng)生成的首行,然在其方法體里面寫(xiě)入合適的語(yǔ)句

      操作截圖展示

      完全掌握J(rèn)ava中的方法重寫(xiě)

      完全掌握J(rèn)ava中的方法重寫(xiě)

      完全掌握J(rèn)ava中的方法重寫(xiě)

      完全掌握J(rèn)ava中的方法重寫(xiě)

      推薦學(xué)習(xí):《java視頻教程》

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)