国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

關于方法的繼承和覆寫

2019-11-15 01:05:21
字體:
來源:轉載
供稿:網友
關于方法的繼承和覆寫

* 關于方法的覆寫:* 關于方法的重寫和覆蓋的前提條件:* 子類繼承父類,就繼承了父類的所有方法和屬性,就相當于把父類的代碼完全復制一份到子類,只是相當于* 我們子類中可以添加新的方法和屬性,同時也可以擴展改寫繼承自父類的方法* 1 什么時候方法要進行重寫?* 如果父類中的方法已經無法滿足子類的要求,需要將父類中的方法進行重新寫一遍* 2.子類如果重寫父類中的方法之后,這類對象一定調用重寫之后的方法* 3 發生方法覆蓋的條件:* 第一: 發生在具有繼承關系的兩個類之間* 第二: 必須具有相同的方法名,相同的返回值類型,相同的參數列表(如果是參數列表不同,系統就會認為這兩個是不同的方法進行重載)* (返回值代表了函數的功能,復寫不能更改函數的功能)* 第三: 重寫的方法不能比被重寫的方法擁有更低的訪問權限* 第四: 重寫的方法不能比被重寫的方法拋出更廣泛的異常* 第五: 私有的方法不能被覆蓋* 不調用的時候就沒有報錯* 調用的時候才會報錯,說明,這個方法是運行時錯誤* 第六: 構造方法無法被覆蓋,因為構造方法無法被繼承* 第七: 靜態的方法不存在被覆蓋* 因為,靜態方法進來以后,不會再有新的內存操作,所以,就沒有覆蓋這一說* 第八: 覆蓋值得是成員方法,和成員變量無關* 成員變量,是指這個類代表的所有個體的共有屬性,只是屬性值不一樣** 4 繼承最基本的作用:代碼復用* 繼承最基本的功能:方法可以重寫* new也是代碼的重用,但是不可以進行擴展,,重寫就是擴展,不可以* new的時候,只能夠被調用,對數據進行刪減改查,不能夠進行功能擴展

* 私有的方法無法被覆蓋,即使在程序中重寫了方法,但是底層仍然會調用父類方法下面是一個覆寫的例子://父類class Override_02{//一個類 //私有方法 PRivate void m_1(){//私有的沒有返回值的m_1方法 System.out.println( "A'm_1 method invoke!!" );//輸出 } public void m2(){ System.out.println( "我是父類" ); } //入口 public static void main (String [] args){//公共的靜態的沒有返回值的main方法,是程序的入口 //多態:這里是私有方法,不能被繼承 Override_02 a = new B();//運行原理:把子類對象的地址賦值給父類的對象(多態),輸出的時候先看能不能被繼承,如果不能被繼承,那就輸出父類的內容,如果能被繼承,就看能能不能被覆寫,(要求:返回值,方法名,形參列表都要一樣),如果沒被覆寫,就輸出父類的內容,如果被覆寫了,就輸出子類的新內容 a.m_1();//父類中的m_1方法不能被繼承,所以輸出的是父類的m_1 a.m2();//父類中的m2方法能被繼承,所以輸出子類中的內容,因為子類的方法名,返回值,形參列表和父類相同,所以可以被復寫,輸出子類的新內容 }}//子類class B extends Override_02{ //嘗試重寫父類的私有方法B(){ } public void m_1(){ System.out.println( "'B'm_1 method invoke" ); } public void m2(){ System.out.println( "我是子類 " ); }}

由于學習方法的覆寫的時候,還沒有學習多態,所以里面涉及多態的東西我也知道的不是很多,主要的是關于方法的覆寫,運行原理也是我自己的理解寫出來的,有什么不對的地方還希望和大家多多交流,O(∩_∩)O謝謝!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 拉萨市| 天津市| 佛冈县| 郁南县| 阜阳市| 广昌县| 平南县| 电白县| 贡嘎县| 枣阳市| 阿鲁科尔沁旗| 巢湖市| 华坪县| 博野县| 新绛县| 黄山市| 海林市| 长治县| 镇巴县| 开封县| 慈溪市| 鹰潭市| 黑水县| 临城县| 惠东县| 兰考县| 柘城县| 灵武市| 抚顺县| 凤阳县| 宁德市| 平潭县| 新蔡县| 奉化市| 九龙县| 高台县| 集贤县| 象州县| 白朗县| 康保县| 囊谦县|