亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

一、繼承的基本概念

什么是繼承呢?

我們可以想一下,既然是“繼承”,那么它必須是在兩個(gè)或多個(gè)類之間所發(fā)生的關(guān)系吧,這樣我們就可以說(shuō):這個(gè)類繼承自什么類,假如只有一個(gè)類的話,它既無(wú)法繼承別的類,而且也沒(méi)有別的類來(lái)繼承它,這就構(gòu)不成什么繼承關(guān)系了哈,理清楚了這一層關(guān)系之后我們?cè)賮?lái)談?wù)勊^承了什么呢? 既然說(shuō)什么什么類繼承自什么什么類,那它肯定要從繼承的那個(gè)類中繼承點(diǎn)什么呀!我們把發(fā)生繼承關(guān)系的這兩個(gè)類稱為父類和子類,子類可以繼承父類的屬性和方法,這個(gè)就是繼承的基本概念,下面我們來(lái)系統(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)物)

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

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

子類局部范圍找

子類成員范圍找

父類成員范圍找

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

四、super關(guān)鍵字

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

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

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

在這里插入圖片描述

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

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

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

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

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

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

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

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

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

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

七、方法重寫

方法重寫概述:

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

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

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

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

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

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

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

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

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

訪問(wèn)權(quán)限

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

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

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

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

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

八、包

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

src com 下

包的定義格式

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

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

導(dǎo)包

使用不同包下的類時(shí),使用的時(shí)候要寫類的全路徑,寫起來(lái)太麻煩
為了簡(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)鍵字的條件

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

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

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

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

相關(guān)文章

  • 簡(jiǎn)單聊一聊Java線程池ThreadPoolExecutor

    簡(jiǎn)單聊一聊Java線程池ThreadPoolExecutor

    在使用線程池之后,開(kāi)啟線程就變成了在線程池當(dāng)中找到一個(gè)空閑的線程,銷毀線程變成了歸還線程到線程池的過(guò)程,下面這篇文章主要給大家介紹了關(guān)于Java線程池ThreadPoolExecutor的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • idea啟動(dòng)springmvc項(xiàng)目時(shí)報(bào)找不到類的解決方法

    idea啟動(dòng)springmvc項(xiàng)目時(shí)報(bào)找不到類的解決方法

    這篇文章主要介紹了idea啟動(dòng)springmvc項(xiàng)目時(shí)報(bào)找不到類的解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Java中Map和Set的常見(jiàn)用法舉例

    Java中Map和Set的常見(jiàn)用法舉例

    Map和Set是一種專門用來(lái)進(jìn)行搜索的容器或者數(shù)據(jù)結(jié)構(gòu),其具體效率與具體的實(shí)例化子類有關(guān),下面這篇文章主要給大家介紹了關(guān)于Java中Map和Set的常見(jiàn)用法,需要的朋友可以參考下
    2024-04-04
  • 利用Java實(shí)現(xiàn)在PDF中添加工具提示

    利用Java實(shí)現(xiàn)在PDF中添加工具提示

    這篇文章主要介紹了如何通過(guò)Java在PDF中添加工具提示,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定的參考價(jià)值,感興趣的可以學(xué)習(xí)一下
    2022-01-01
  • 一文掌握Spring的創(chuàng)建與使用

    一文掌握Spring的創(chuàng)建與使用

    這篇文章詳細(xì)介紹了spring的創(chuàng)建與使用,文章中有詳細(xì)的代碼示例和圖片介紹,對(duì)學(xué)習(xí)有一定的而參考價(jià)值,需要的同學(xué)可以參考一下
    2023-04-04
  • Java線程編程中Thread類的基礎(chǔ)學(xué)習(xí)教程

    Java線程編程中Thread類的基礎(chǔ)學(xué)習(xí)教程

    這篇文章主要介紹了Java線程編程中Thread類的基礎(chǔ)學(xué)習(xí)教程,Thread類包含諸多操作線程的方法,非常重要,需要的朋友可以參考下
    2015-12-12
  • java實(shí)現(xiàn)選課系統(tǒng)

    java實(shí)現(xiàn)選課系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)選課系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • 帶你快速搞定Mysql優(yōu)化

    帶你快速搞定Mysql優(yōu)化

    大部分的游戲數(shù)據(jù)庫(kù)都是使用mysql ,所以今天今天大概聊一下對(duì)數(shù)據(jù)庫(kù)的優(yōu)化原則問(wèn)題,都是基于InnoDB 引擎,希望你能在遇到同樣的問(wèn)題時(shí)能解決問(wèn)題
    2021-07-07
  • java解析XML Node與Element的區(qū)別(推薦)

    java解析XML Node與Element的區(qū)別(推薦)

    下面小編就為大家分享一篇java解析XML Node與Element的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • 淺析Java中的Caffeine緩存源碼

    淺析Java中的Caffeine緩存源碼

    這篇文章主要介紹了淺析Java中的Caffeine緩存源碼,Caffeine是一個(gè)Java開(kāi)發(fā)的高性能緩存庫(kù),它提供了一種簡(jiǎn)單而強(qiáng)大的方式來(lái)管理內(nèi)存中的緩存數(shù)據(jù),Caffeine的設(shè)計(jì)目標(biāo)是提供快速、高效的緩存訪問(wèn),同時(shí)保持簡(jiǎn)單易用的API,本文針對(duì)其部分源碼做出解析,需要的朋友可以參考下
    2023-10-10

最新評(píng)論