1. <rt id="cs8fe"><fieldset id="cs8fe"></fieldset></rt>
      <center id="cs8fe"></center>
      <pre id="cs8fe"></pre>
    2. <ul id="cs8fe"><tfoot id="cs8fe"></tfoot></ul>
      <del id="cs8fe"></del>
        <input id="cs8fe"><form id="cs8fe"></form></input>
        国产精鲁鲁网在线视频,国产午夜精品一区二区三区老,日韩av在线高清观看,无码av波多野结衣,国产免费视频一区二区,欧美自慰一级看片免费,亚洲成年轻人电影网站WWW ,成人观看欧美特黄A片
        學習方法

        方法重載和方法重寫的區別是什么

        時間:2022-11-16 04:12:46 學習方法

        方法重載和方法重寫的區別是什么

          java中的方法重載發生在同一個類里面兩個或者多個方法的方法名相同但是參數不同的情況。與此相對,方法覆蓋是說子類重新定義了父類的方法。以下是小編為大家帶來的方法重載和方法重寫的區別是什么,希望大家喜歡。

          java中方法重載和重寫的區別和定義

          重載:一個類中有一個方法A,你又在這個類中創建了一個方法B,方法B的名字和A一樣,返回值類型也一樣,但是參數的類型或個數不同,此時B重載了A。

          例如:

          public class TestClass{

          public int test(int i){return 1;}

          public int test(float f){return 1;}

          }

          重寫:一個類M繼承另一個類N,N中有一個方法A,這時你在M寫了一個方法B,方法B的名字、返回值以及參數都和A一樣,此時B重寫了A。

          例如:

          public class TestClass1{

          public int test(int i){return 1;}

          }

          public class TestClass2 extends TestClass1{

          public int test(int i){return 2;}

          }

          重寫和重載的區別

          1.重寫

          是父類與子類之間多態性的一種表現,如果在子類中定義某方法與其父類有相同的名稱和參數,且方法的返回值類型與拋出異常的類型各自與父類的一致,我們說該方法被重寫 。

          子類的對象使用這個方法時,將調用子類中的定義,對它而言,父類中的定義如同被"屏蔽"了。

          2. 重載

          是一個類中多態性的一種表現。如果在一個類中定義了多個同名的方法,它們或有不同的參數個數或有不同的參數類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。

          3.重寫與重載的區別

          重寫多態性起作用,對調用被重載過的方法可以大大減少代碼的輸入量,同一個方法名只要往里面傳遞不同的參數就可以擁有不同的功能或返回值。

          用好重寫和重載可以設計一個結構清晰而簡潔的類,可以說重寫和重載在編寫代碼過程中的作用非同一般。下面小編舉個例子說明一下。

          public class Father

          {

          public void speak()

          {

          System.out.println("Father");

          }

          }

          public class Son extends Father

          {

          public void speak()

          {

          System.out.println("son");

          }

          }

          這也叫做多態性,重寫方法只能存在于具有繼承關系中,重寫方法只能重寫父類非私有的方法。

          當上例中 Father類 speak()方法被private時,Son類不能重寫 Father類 speak()方法,此時Son類 speak()方法相當與在Son類中定義的一個speak()方法。

          Father類 speak()方法一但被final時,無論該方法被public,protected及默認所修飾時,Son類根本不能重寫 Father類 speak()方法,試圖編譯代碼時,編譯器會報錯。例:

          public class Father

          {

          fianl public void speak()

          {

          System.out.println("Father");

          }

          }

          public class Son extends Father

          {

          public void speak()

          {

          System.out.println("son");

          } 寫

          }//編譯器會報錯。

          Father類 speak()方法被時默認修飾時,只能在同一包中,被其子類被重些,如果不在同一包則不能重寫。

          Father類 speak()方法被時protoeted時,不僅在同一包中,被其子類被重些,還可以不同包的子類重寫。

          4.重寫和重載在規則上的區別

          重寫的規則

          1.參數列表必須完全與被重寫的方法的相同,否則不能稱其為重寫而是重載。

          2.返回的類型必須一直與被重寫的方法的返回類型相同,否則不能稱其為重寫而是重載。

          3.訪問修飾符的限制一定要大于被重寫方法的訪問修飾符(public>protected>default>private)。

          4.重寫方法一定不能拋出新的檢查異常或者比被重寫方法申明更加寬泛的檢查型異常。

          例如:父類的一個方法申明了一個檢查異常IOException,在重寫這個方法是就不能拋出Exception,只能拋出IOException的子類異常,可以拋出非檢查異常。

          重載的規則

          1.必須具有不同的參數列表。

          2.可以有不同的返回類型,只要參數列表不同就可以了。

          3.可以有不同的訪問修飾符。

          4.可以拋出不同的異常。

        【方法重載和方法重寫的區別是什么】相關文章:

        方法重載和方法重寫的概念和區別09-06

        方法重載與覆蓋的區別11-04

        方法重載的條件09-23

        讀書的方法和技巧07-27

        預習的策略和方法04-23

        讀書方法和心得03-14

        即興演講的技巧和方法04-23

        育兒經驗和方法心得07-26

        學好英語的方法和技巧08-31

        議案和提案的區別是什么03-04

        主站蜘蛛池模板: 婷婷综合久久中文字幕| 亚洲AV网站| 亚洲最大成人在线播放| 一区二区三区蜜桃在线视频| 妺妺窝人体色www看人体| 亚州无线国产2021| 午夜精品久久久久久久无码| 欧美综合激情网| 国产免费一区二区三区在线观看 | 群交射精白浆视频| 亚洲AV专区无码观看精品天堂| 人妻无码AⅤ中文系列久久免费| 亚洲日韩av无码中文字幕美国| 蜜桃一区二区三区在线看| 东方av天堂| 亚洲日韩中文字幕在线播放| 日韩精品亚洲专区在线影视| 手机免费看黄在线高清视频| 久久国产日韩综合| 久久久无码精品亚洲日韩蜜桃| 亚洲制服丝袜无码| 人人爽人人爽人人片a∨| 久久这里只有精品8| 浠水县| 国产旡码高清一区二区三区| 狠狠久久精品中文字幕无码| 中国XXXX色视频| 国产成人无码网站| 成人网站在线看| 秋霞电影网久久久精品| 国产精品乱子伦xxxx| 国产精品视频亚洲二区| 亚洲欧美丝袜精品久久中文字幕 | 亚洲无码一| 99精品久久久中文字幕| 国产精品18久久久| 国产精品久久久久7777| 熟女网址| 亚洲综合av色婷婷| 一区二区三区在线观看| 99久久国语露脸精品国产|