欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java類的繼承原理與用法分析

 更新時間:2020年02月12日 09:57:11   作者:扎心了,老鐵  
這篇文章主要介紹了Java類的繼承原理與用法,結(jié)合實例形式分析了java類的繼承相關(guān)原理、使用方法及操作注意事項,需要的朋友可以參考下

本文實例講述了Java類的繼承。分享給大家供大家參考,具體如下:

為什么要繼承?

觀察兩個類的成員組成

 

提取相同的屬性和方法

寵物是父類,狗和金魚是子類。子類具有父類的屬性和方法。

繼承定義

是使用已存在的類作為基礎(chǔ)建立新類的技術(shù)。

單一繼承:只有一個父類。

父類可以叫做基類、超類。子類可以叫做派生類。

繼承注意事項

子類可以繼承父類中的成員(屬性和方法)。

但是需要注意:

1.private的成員不能繼承

2.子類和父類不在同一個程序包,使用默認(rèn)訪問權(quán)限的成員不能繼承

3.構(gòu)造器不能繼承。

繼承原則

設(shè)計繼承關(guān)系要符合里氏替換原則。is-a關(guān)系

子類是父類,可以完全替換掉父類,代碼沒有任何影響。

里氏替換原則(LSP):在一個軟件系統(tǒng)中,子類對象可以替換所有使用的父類對象,且程序行為沒有變化

重寫

在子類中,子類中的方法名、參數(shù)、返回值和父類中的完全相同,那么叫做子類重寫了父類中的方法。

只有實例成員方法才能重寫。靜態(tài)成員方法、靜態(tài)變量、實例成員變量不能重寫,隱藏。

重寫和隱藏的根本區(qū)別

重寫可以實現(xiàn)多態(tài),隱藏不能實現(xiàn)多態(tài)

重寫注意事項

1.名字必須完全一致

2.參數(shù) 父類擦除后與子類一致;或者與子類完全一致。

3.返回值類型 可以完全一致,如果是引用類型,允許子類的返回值類型是父類的 子類

4.訪問修飾符 子類不能比父類更嚴(yán)格。

5.異常處理 不能比父類范圍更大。

為什么要重寫?

1.子類修改了父類中的功能。

2.子類擴(kuò)展了父類中的功能。

class 父類手機(jī){
 public void 來電顯示(){
     顯示電話號;
  }
}
class 子類手機(jī) extends 父類手機(jī){
 public void 來電顯示(){
     顯示電話號;
     顯示人名;
     顯示地址;
  }
}

super

表示父類范圍

super關(guān)鍵和this作用類似,是被屏蔽的成員變量或者成員方法或變?yōu)榭梢?,或者說用來引用被屏蔽的成員變量和成員成員方法。
不過super是用在子類中,目的是訪問直接父類中被屏蔽的成員,注意是直接父類(就是類之上最近的超類)。

super的用法

第一、在子類構(gòu)造方法中要調(diào)用父類的構(gòu)造方法,用“super(參數(shù)列表)”的方式調(diào)用,參數(shù)不是必須的。同時還要注意的一點(diǎn)是:“super(參數(shù)列表)”這條語句只能用在子類構(gòu)造方法體中的第一行。

第二、當(dāng)子類方法中的局部變量或者子類的成員變量與父類成員變量同名時,也就是子類局部變量覆蓋父類成員變量時,用“super.成員變量名”來引用父類成員變量。當(dāng)然,如果父類的成員變量沒有被覆蓋,也可以用“super.成員變量名”來引用父類成員變量,不過這是不必要的。

第三、當(dāng)子類的成員方法覆蓋了父類的成員方法時,也就是子類和父類有完全相同的方法定義(但方法體可以不同),此時,用“super.方法名(參數(shù)列表)”的方式訪問父類的方法。

更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計入門與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設(shè)計有所幫助。

相關(guān)文章

  • SpringMVC整合SpringSession 實現(xiàn)sessiong

    SpringMVC整合SpringSession 實現(xiàn)sessiong

    這篇文章主要介紹了SpringMVC整合SpringSession 實現(xiàn)session的實例代碼,本文通過實例相結(jié)合的形式給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2018-04-04
  • springboot使用外置tomcat啟動方式

    springboot使用外置tomcat啟動方式

    這篇文章主要介紹了springboot使用外置tomcat啟動方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Springboot整合MongoDB的Docker開發(fā)教程全解

    Springboot整合MongoDB的Docker開發(fā)教程全解

    這篇文章主要介紹了Springboot整合MongoDB的Docker開發(fā),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2020-07-07
  • SpringBoot2底層注解@Configuration配置類詳解

    SpringBoot2底層注解@Configuration配置類詳解

    這篇文章主要為大家介紹了SpringBoot2底層注解@Configuration配置類詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • MyBatis-Plus allEq()的用法詳解

    MyBatis-Plus allEq()的用法詳解

    這篇文章主要介紹了MyBatis-Plus allEq()的用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Spring零基礎(chǔ)入門WebFlux響應(yīng)式編程

    Spring零基礎(chǔ)入門WebFlux響應(yīng)式編程

    Spring 提供了兩個并行堆棧,一種是基于帶有 Spring MVC 和 Spring Data 結(jié)構(gòu)的 Servlet API,另一個是完全反應(yīng)式堆棧,它利用了 Spring WebFlux 和 Spring Data 的反應(yīng)式存儲庫,這篇文章主要介紹了Spring-webflux 響應(yīng)式編程,需要的朋友可以參考下
    2022-10-10
  • swagger如何返回map字段注釋

    swagger如何返回map字段注釋

    這篇文章主要介紹了swagger如何返回map字段注釋的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Spring與Shiro整合及加載權(quán)限表達(dá)式問題

    Spring與Shiro整合及加載權(quán)限表達(dá)式問題

    這篇文章主要介紹了Spring與Shiro整合及加載權(quán)限表達(dá)式問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • 解決BigDecimal轉(zhuǎn)long丟失精度的問題

    解決BigDecimal轉(zhuǎn)long丟失精度的問題

    這篇文章主要介紹了解決BigDecimal轉(zhuǎn)long丟失精度的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 分析講解SpringMVC注解配置如何實現(xiàn)

    分析講解SpringMVC注解配置如何實現(xiàn)

    這篇文章主要介紹了本文要介紹用注解方式代替web.xml與SpringMVC的配置文件,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05

最新評論