網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
類(lèi)中成員的訪問(wèn)權(quán)限
Y代表可以訪問(wèn),N代表不可訪問(wèn)
繼承方式 | 本類(lèi) | 派生類(lèi) | 類(lèi)外 |
---|---|---|---|
public | Y | Y | Y |
protected | Y | Y | N |
private | Y | N | N |
繼承方式對(duì)子類(lèi)訪問(wèn)父類(lèi)成員的影響
繼承方式 | 子類(lèi)繼承來(lái)的成員的訪問(wèn)權(quán)限 |
---|---|
public | 繼承來(lái)的這些成員在子類(lèi)中還是原來(lái)的權(quán)限 |
protected | 原來(lái)的權(quán)限為public的成員在子類(lèi)中變?yōu)閜rotected,其他兩種不變 |
private | 繼承來(lái)的成員在子類(lèi)中權(quán)限都變?yōu)閜rivate |
例如,類(lèi)B以私有方式繼承了類(lèi)A,那么從類(lèi)A繼承來(lái)的成員在類(lèi)B中都是私有成員,原來(lái)類(lèi)A中可以在類(lèi)外訪問(wèn)的公有數(shù)據(jù)成員a,現(xiàn)在在類(lèi)B中只能在類(lèi)中訪問(wèn),如果再有類(lèi)C繼承B的時(shí)候,無(wú)論以哪種方式,都不能在類(lèi)C中訪問(wèn)a了。
派生類(lèi)構(gòu)造函數(shù)的格式
格式:派生類(lèi)名::派生類(lèi)名(參數(shù)總表):基類(lèi)名1(參數(shù)表1),基類(lèi)名2(參數(shù)表2),......,新增成員名1(參數(shù)1),新增成員名2(參數(shù)2){}
- 如果基類(lèi)中沒(méi)有定義帶參數(shù)的構(gòu)造函數(shù),派生類(lèi)的構(gòu)造函數(shù)可以不加基類(lèi)名和參數(shù)表;
- 如果基類(lèi)中沒(méi)有定義默認(rèn)構(gòu)造函數(shù)或帶有缺省值的構(gòu)造函數(shù)而只有帶參數(shù)的構(gòu)造函數(shù)時(shí),派生類(lèi)的構(gòu)造函數(shù)中必須顯式的給出基類(lèi)名和參數(shù)表,否則編譯器將報(bào)錯(cuò)
構(gòu)造函數(shù)與析構(gòu)函數(shù)的調(diào)用時(shí)機(jī)
作用域、內(nèi)存區(qū)間、生命周期:
- 全局變量在程序開(kāi)始時(shí)調(diào)用構(gòu)造函數(shù)、在程序結(jié)束時(shí)調(diào)用析構(gòu)函數(shù)。
- 靜態(tài)變量在所在函數(shù)第一次被調(diào)用時(shí)調(diào)用構(gòu)造函數(shù)、在程序結(jié)束時(shí)調(diào)用析構(gòu)函數(shù),只調(diào)用一次。
- 局部變量在所在的代碼段被執(zhí)行時(shí)調(diào)用構(gòu)造函數(shù),在離開(kāi)其所在作用域(大括號(hào)括起來(lái)的區(qū)域)時(shí)調(diào)用析構(gòu)函數(shù)。可以調(diào)用任意多次。
繼承關(guān)系:(派生類(lèi)在實(shí)例化對(duì)象時(shí))
- 先調(diào)用基類(lèi)的構(gòu)造函數(shù),再調(diào)用子對(duì)象類(lèi)(成員變量)的構(gòu)造函數(shù),最后調(diào)用派生類(lèi)的構(gòu)造函數(shù);
- 調(diào)用順序與派生類(lèi)構(gòu)造函數(shù)冒號(hào)后面給出的初始化列表的順序沒(méi)有任何關(guān)系,按照繼承的順序和變量在類(lèi)里面定義的順序進(jìn)行初始化。 先繼承,先構(gòu)造;先定義,先構(gòu)造。
- 析構(gòu)函數(shù)調(diào)用順序仍然與構(gòu)造函數(shù)構(gòu)造順序相反。
- 每次調(diào)用析構(gòu)函數(shù)時(shí)總是析構(gòu)最近被構(gòu)造的、且沒(méi)有被析構(gòu)的對(duì)象。也就是:先被構(gòu)造的對(duì)象后被析構(gòu),析構(gòu)順序恰與構(gòu)造順序相反。(棧模型)
原文鏈接:https://blog.csdn.net/qq_41796226/article/details/126997683
相關(guān)推薦
- 2022-10-13 解析React中useMemo與useCallback的區(qū)別_React
- 2022-11-27 網(wǎng)站https訪問(wèn)是443端口還是433端口_服務(wù)器其它
- 2022-07-16 訓(xùn)練YOLOX時(shí),出現(xiàn)“BrokenPipeError: [Errno 32] Broken pip
- 2022-05-25 Entity?Framework?Core對(duì)Web項(xiàng)目生成數(shù)據(jù)庫(kù)表_實(shí)用技巧
- 2022-04-17 IDEA下載源文件,報(bào)找不到
- 2022-04-04 webpack-loader: loader的使用(圖片、txt文件、url、less)
- 2022-03-24 聊一聊redis奇葩數(shù)據(jù)類(lèi)型與集群知識(shí)_Redis
- 2022-12-27 教你使用Psycopg2連接openGauss的方法_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門(mén)
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支