淺談virtual、abstract方法和靜態(tài)方法、靜態(tài)變量理解
說點(diǎn)對(duì)這幾個(gè)容易混淆的詞的理解:
1、c++中的virtual方法的 virtual關(guān)鍵字主要是防止繼承中重復(fù)繼承父類的同一個(gè)方法而設(shè)置的標(biāo)識(shí)。
2、virtual與abstract關(guān)鍵字的不同之處在于 virtual方法可以有具體的實(shí)現(xiàn),當(dāng)子類繼承父類的時(shí)候若沒有覆寫該方法,也可以使用父類中的此方法。
但是abstract方法即抽象方法是沒有具體實(shí)現(xiàn)的,子類需要自己實(shí)現(xiàn)。打個(gè)比方就是virtual 虛方法 這個(gè) 父親雖然“虛”了點(diǎn)但‘家產(chǎn)'還是有一點(diǎn)的,但老爸是抽象方法這個(gè)兒子就悲劇了,什么遺產(chǎn)也沒有,因?yàn)樗习值姆椒ㄊ浅橄蟮?,并不是“真”的。?!?/p>
另:包含抽象方法的類一定是抽象類,抽象類不一定有抽象方法(但也不能實(shí)例化)。
額,另外還有一個(gè)純干抽象事兒的 接口。里面只有常量和抽象方法。
3、關(guān)于靜態(tài)方法和靜態(tài)變量
靜態(tài)方法是屬于類的,內(nèi)存必須為它分配內(nèi)存空間,這個(gè)空間一直由靜態(tài)方法占用,內(nèi)存管理器不會(huì)由于靜態(tài)方法沒有被調(diào)用而將靜態(tài)方法的存儲(chǔ)空間收回,這樣如果將所有的方法都聲明為靜態(tài)方法,就會(huì)占用大量的內(nèi)存空間,最后是系統(tǒng)變慢。而普通的成員方法是由對(duì)象調(diào)用的,內(nèi)存并不會(huì)一直為起分配內(nèi)存,只有調(diào)用的時(shí)候才為其分配存儲(chǔ)空間,而當(dāng)其沒有被調(diào)用時(shí),存儲(chǔ)空間就會(huì)被內(nèi)存管理其收回,釋放沒有用的空間,提高的系統(tǒng)的運(yùn)行速率!希望對(duì)樓主有幫助!
具體百度, 另: 靜態(tài)方法的典型用法就是單例模式。另外基于靜態(tài)方法的特點(diǎn),我覺得那些需要被頻繁調(diào)用的方法適合定義成為靜態(tài)方法。此外,還有單例等特殊用途。
靜態(tài)變量:static定義的語(yǔ)句只會(huì)被執(zhí)行一次。
以上這篇淺談virtual、abstract方法和靜態(tài)方法、靜態(tài)變量理解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring中的@EnableScheduling定時(shí)任務(wù)注解
這篇文章主要介紹了Spring中的@EnableScheduling注解,@EnableScheduling是 Spring Framework 提供的一個(gè)注解,用于啟用 Spring 的定時(shí)任務(wù)功能,通過使用這個(gè)注解,可以在 Spring 應(yīng)用程序中創(chuàng)建定時(shí)任務(wù),需要的朋友可以參考下2024-01-01MyBatis-Plus條件構(gòu)造器Wrapper應(yīng)用實(shí)例
QueryWrapper是用于查詢的Wrapper條件構(gòu)造器,可以通過它來構(gòu)建SELECT語(yǔ)句中的WHERE條件,這篇文章主要介紹了MyBatis-Plus數(shù)據(jù)表操作條件構(gòu)造器Wrapper,需要的朋友可以參考下2023-09-09如何利用Map與函數(shù)式接口來實(shí)現(xiàn)去除if else
這篇文章主要介紹了如何利用Map與函數(shù)式接口來實(shí)現(xiàn)去除if else問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07IntelliJ IDEA之高效代碼插件RainBow Brackets詳解
這篇文章主要介紹了IntelliJ IDEA之高效代碼插件RainBow Brackets詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12JVM執(zhí)行引擎和垃圾回收要點(diǎn)總結(jié)
不論是在問題現(xiàn)場(chǎng)還是跳槽面試,我們面對(duì)JVM性能問題,依舊會(huì)束手無辭,它需要你對(duì)Java虛擬機(jī)的實(shí)現(xiàn)和優(yōu)化,有極為深刻的理解。所以我在這里整理了一下 JVM的知識(shí)點(diǎn)。今天說說虛擬機(jī)執(zhí)行引擎和垃圾回收,都是十足的干貨,請(qǐng)各位看官耐心批閱!2021-06-06Java設(shè)計(jì)模式之訪問模式(Visitor者模式)介紹
這篇文章主要介紹了Java設(shè)計(jì)模式之訪問模式(Visitor者模式)介紹,本文講解了為何使用Visitor模式、如何使用Visitor模式、使用Visitor模式的前提等內(nèi)容,需要的朋友可以參考下2015-03-03