最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java基礎(chǔ)知識(shí)總結(jié)之繼承

 更新時(shí)間:2021年06月01日 09:19:20   作者:codeman-math  
這一篇我們來學(xué)習(xí)面向?qū)ο蟮牡诙€(gè)特征——繼承,文中有非常詳細(xì)的基礎(chǔ)知識(shí)總結(jié),對(duì)正在學(xué)習(xí)java的小伙伴們很有幫助,需要的朋友可以參考下

一、繼承的基本概念

什么是繼承呢?

我們可以想一下,既然是“繼承”,那么它必須是在兩個(gè)或多個(gè)類之間所發(fā)生的關(guān)系吧,這樣我們就可以說:這個(gè)類繼承自什么類,假如只有一個(gè)類的話,它既無法繼承別的類,而且也沒有別的類來繼承它,這就構(gòu)不成什么繼承關(guān)系了哈,理清楚了這一層關(guān)系之后我們?cè)賮碚務(wù)勊^承了什么呢? 既然說什么什么類繼承自什么什么類,那它肯定要從繼承的那個(gè)類中繼承點(diǎn)什么呀!我們把發(fā)生繼承關(guān)系的這兩個(gè)類稱為父類和子類,子類可以繼承父類的屬性和方法,這個(gè)就是繼承的基本概念,下面我們來系統(tǒng)的學(xué)習(xí)一下吧 ~ ~

繼承是面向?qū)ο蟮娜筇卣髦弧?梢允沟米宇惥哂懈割惖膶傩院头椒ǎ€可以在子類中重新定義,追加屬性和方法

繼承的格式:

public class 子類名 extends父類名{}

public class Zi extends Fu{}

父類也被稱為基類、超類

子類也被稱為派生類

二、繼承的好處和弊端

繼承的好處

提高了代碼的復(fù)用性(多個(gè)類相同的成員可以放在同一個(gè)類中)

提高了代碼的維護(hù)性(如果方法的代碼需要改,修改父類中的方法即可)

繼承的壞處

類與類之間產(chǎn)生了關(guān)系,提高了耦合性,父類變化子類也不得不變化,削弱了子類的獨(dú)立性

什么時(shí)候使用繼承

繼承關(guān)系的體現(xiàn)(什么是什么的一種,大集合包含小集合,比如老虎可以繼承動(dòng)物類,因?yàn)槔匣儆趧?dòng)物)

三、繼承中變量訪問的特點(diǎn)

在子類方法中訪問一個(gè)變量

子類局部范圍找

子類成員范圍找

父類成員范圍找

沒有就會(huì)報(bào)錯(cuò)

四、super關(guān)鍵字

和this關(guān)鍵字用法相似

this:代表本類對(duì)象的引用

super:代表父類存儲(chǔ)空間的標(biāo)識(shí)(可以理解為父類對(duì)象的引用)

在這里插入圖片描述

五、繼承中構(gòu)造方法的訪問特點(diǎn)

子類中所有的構(gòu)造方法默認(rèn)都會(huì)訪問父類中無參的構(gòu)造方法。

因?yàn)樽宇悤?huì)繼承父類中的數(shù)據(jù),可能還會(huì)使用父類的數(shù)據(jù)。所以子類初始化前,一定先完成父類數(shù)據(jù)的初始化(訪問父類的構(gòu)造方法就是為了使得父類數(shù)據(jù)初始化)

每一個(gè)子類構(gòu)造方法的第一條語句默認(rèn)都是:super()

如果父類中沒有無參構(gòu)造方法,只有帶參構(gòu)造方法

通過使用super關(guān)鍵字去顯式的調(diào)用父類的帶參構(gòu)造方法

在父類中自己提供一個(gè)無參調(diào)用方法

六、繼承中成員方法的訪問特點(diǎn)

通過子類對(duì)象訪問一個(gè)方法

先在子類范圍找,然后在父類范圍找,如果都沒有就報(bào)錯(cuò)(不考慮父親的父親)

七、方法重寫

方法重寫概述:

子類中出現(xiàn)了和父類一模一樣的方法聲明

應(yīng)用:當(dāng)子類需要父類的功能,而功能主體子類有自己的特有內(nèi)容時(shí),可以重寫父類中的方法,這樣,即沿襲了父類的功能,又定義了子類特有的內(nèi)容。

@Override
是一個(gè)注解(注解后面會(huì)學(xué)習(xí)到)

可以幫助我們檢查重寫方法的方法聲明的正確性

方法重寫的注意事項(xiàng):

父類中的私有方法,子類不能繼承,所以也不能重寫

如果沒有寫訪問權(quán)限,默認(rèn)是default

子類訪問父類時(shí),權(quán)限不能比父類的高

Java中不能同時(shí)繼承多個(gè)類,但是可以多層繼承,一層套一層

訪問權(quán)限

1、private: Java語言中對(duì)訪問權(quán)限限制的最窄的修飾符,一般稱之為“私有的”。被其修飾的屬性以及方法只能被該類的對(duì)象訪問,其子類不能訪問,更不能允許跨包訪問。

2、default:即不加任何訪問修飾符,通常稱為“默認(rèn)訪問權(quán)限“或者“包訪問權(quán)限”。該模式下,只允許在同一個(gè)包中進(jìn)行訪問。

3、protected: 介于public 和 private 之間的一種訪問修飾符,一般稱之為“保護(hù)訪問權(quán)限”。被其修飾的屬性以及方法只能被類本身的方法及子類訪問,即使子類在不同的包中也可以訪問。

4、public: Java語言中訪問限制最寬的修飾符,一般稱之為“公共的”。被其修飾的類、屬性以及方法不僅可以跨類訪問,而且允許跨包訪問。

權(quán)限 類內(nèi) 同包 不同包子類 不同包非子類
private × × ×
default(不寫) × ×
protected ×
public

八、包

包就是文件夾,不同的包下可以放同名的文件,對(duì)類進(jìn)行分類管理

src com 下

包的定義格式

格式:packpage包名;(多級(jí)包分開用)
package com.it(二級(jí)包)

可以用cmd命令編譯并且執(zhí)行一個(gè)代碼,從中理解包和文件夾的關(guān)系,以及不同包下為什么可以出現(xiàn)相同的命名

導(dǎo)包

使用不同包下的類時(shí),使用的時(shí)候要寫類的全路徑,寫起來太麻煩
為了簡(jiǎn)化帶包操作,java提供了導(dǎo)包功能

import包名;

九、修飾符

權(quán)限修飾符
上表有

狀態(tài)修飾符
final(最終態(tài))
關(guān)鍵字是終的意思,可以修飾成員方法,成員變量,類

final關(guān)鍵字聲明類可以把定義為不能繼承的,即最終類;

也可以用于修飾**方法,**該方法不能被子類重寫;

也可以用于修飾變量,表明該變量是常量,不能再次被賦值;

被聲明為final類的方法自動(dòng)的聲明為final,但是實(shí)例變量并不是final

final修飾局部變量
當(dāng)變量是基本類型:final修飾指的是基本類型的數(shù)據(jù)值不能發(fā)生改變

當(dāng)變量是引用類型:final修飾指的是引用類型的地址值不能發(fā)生改變,但是地址值的內(nèi)容可以發(fā)生改變.

例如:final int age=20;屬于數(shù)據(jù)值不能發(fā)生改變
final Student s=new Student();屬于地址值,內(nèi)容可以變,值不能變

十、static(靜態(tài))

可以修飾成員方法,成員變量

特點(diǎn):

static修飾的特點(diǎn):被類的所有對(duì)象共享

這也是我們判斷是否適用靜態(tài)變量關(guān)鍵字的條件

可以通過類名調(diào)用,也可以通過對(duì)象名調(diào)用(推薦適用類名調(diào)用)

直接寫類名然后定義這個(gè)靜態(tài)變量的值是多少

訪問特點(diǎn):
靜態(tài)成員方法只能訪問靜態(tài)成員;
非靜態(tài)成員方法可以訪問所有;

到此這篇關(guān)于Java基礎(chǔ)知識(shí)總結(jié)之繼承的文章就介紹到這了,更多相關(guān)Java繼承內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決mybatis竟然報(bào)Invalid value for getInt()的問題

    解決mybatis竟然報(bào)Invalid value for getInt()的問題

    使用mybatis遇到一個(gè)非常奇葩的問題,總是報(bào)Invalid value for getInt()的問題,怎么解決呢?下面小編通過場(chǎng)景分析給大家代來了mybatis報(bào)Invalid value for getInt()的解決方法,感興趣的朋友參考下吧
    2021-10-10
  • Spring Cloud根據(jù)服務(wù)名獲取服務(wù)的ip端口問題

    Spring Cloud根據(jù)服務(wù)名獲取服務(wù)的ip端口問題

    這篇文章主要介紹了Spring Cloud根據(jù)服務(wù)名獲取服務(wù)的ip端口,本篇示例我就以Nacos注冊(cè)中心為例了,下面是我注冊(cè)的兩個(gè)服務(wù),需要的朋友可以參考下
    2022-09-09
  • Java中l(wèi)ist根據(jù)id獲取對(duì)象的幾種方式

    Java中l(wèi)ist根據(jù)id獲取對(duì)象的幾種方式

    這篇文章主要給大家介紹了關(guān)于Java中l(wèi)ist根據(jù)id獲取對(duì)象的幾種方式,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • 在idea 中添加和刪除模塊Module操作

    在idea 中添加和刪除模塊Module操作

    這篇文章主要介紹了在idea 中添加和刪除模塊Module操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Java?死鎖解決方案順序鎖和輪詢鎖

    Java?死鎖解決方案順序鎖和輪詢鎖

    這篇文章主要介紹了Java?死鎖解決方案順序鎖和輪詢鎖,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • JAVA?IDEA項(xiàng)目打包為jar包的步驟詳解

    JAVA?IDEA項(xiàng)目打包為jar包的步驟詳解

    在Java開發(fā)中我們通常會(huì)將我們的項(xiàng)目打包成可執(zhí)行的Jar包,以便于在其他環(huán)境中部署和運(yùn)行,下面這篇文章主要給大家介紹了關(guān)于JAVA?IDEA項(xiàng)目打包為jar包的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • 關(guān)于Java?獲取時(shí)間戳的方法

    關(guān)于Java?獲取時(shí)間戳的方法

    這篇文章主要介紹了關(guān)于Java獲取時(shí)間戳的方法,Java有兩個(gè)取時(shí)間戳的方法,分別是System.currentTimeMillis()和System.nanoTime()下文對(duì)兩種方法進(jìn)行詳細(xì)介紹,需要的小伙伴可以參考一下
    2022-04-04
  • Java中對(duì)象的比較操作實(shí)例分析

    Java中對(duì)象的比較操作實(shí)例分析

    這篇文章主要介紹了Java中對(duì)象的比較操作,結(jié)合實(shí)例形式分析了java對(duì)象比較操作實(shí)現(xiàn)方法與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-08-08
  • Java語言字典序排序算法解析及代碼示例

    Java語言字典序排序算法解析及代碼示例

    這篇文章主要介紹了Java語言字典序排序算法解析及代碼示例,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • SpringBoot集成quartz實(shí)現(xiàn)定時(shí)任務(wù)詳解

    SpringBoot集成quartz實(shí)現(xiàn)定時(shí)任務(wù)詳解

    最為常用定時(shí)任務(wù)框架是Quartz,并且Spring也集成了Quartz的框架,Quartz不僅支持單實(shí)例方式還支持分布式方式。本文主要介紹Quartz,基礎(chǔ)的Quartz的集成案例本,以及實(shí)現(xiàn)基于數(shù)據(jù)庫的分布式任務(wù)管理和控制job生命周期
    2022-08-08

最新評(píng)論

嘉峪关市| 台前县| 鄂伦春自治旗| 汪清县| 长岭县| 霍邱县| 石台县| 桃园县| 迁西县| 喀什市| 宜兰市| 绿春县| 元朗区| 潼南县| 西峡县| 宁阳县| 九龙坡区| 绵竹市| 海阳市| 沙河市| 延吉市| 四平市| 蒙山县| 吕梁市| 金坛市| 陕西省| 连城县| 桂林市| 原平市| 浦江县| 兴海县| 东丽区| 高州市| 革吉县| 安塞县| 通化县| 营山县| 康乐县| 越西县| 中超| 济源市|