詳析java中的關鍵字和權限修飾

在這里插入圖片描述

💡涉及的知識點速通

  • 🛫 關于關鍵字你都知道什么?
    • 🪂 this和super關鍵字
    • 🪂 instanceof關鍵字
    • 🪂 static關鍵字
    • 🪂 final關鍵字
  • 🛫 權限修飾符的作用范圍知多少?

??各位小伙伴們大家好,歡迎來到這個小扎扎的《Java核心技術 卷Ⅰ》筆記專欄,在這個系列專欄中我將記錄淺學這本書所得收獲,鑒于 看到就是學到、學到就是賺到 精神,這波簡直就是血賺

🛫 關于關鍵字你都知道什么?

🪂 this和super關鍵字

屬性和方法的調用
??this.屬性或方法名調用當前對象中的屬性或方法,如果本類中沒有超類中有的話就調用超類中的,都沒有的話就報錯。super.屬性或方法名只訪問超類中的屬性或方法,即使超類沒有子類中有的話也會報錯在這里插入圖片描述構造器的調用:
??構造器的調用講究比較大,首先構造器的調用使用的是this(參數列表)或者super(參數列表)。當子類繼承超類并使用構造器進行初始化的時候,子類每一個構造器的第一行會有一行默認的隱式語句super();調用超類的無參構造器,且超類的無參構造器會先于子類構造器執行在這里插入圖片描述??前面說過如果超類中只定義了一個有參構造器的話,就不會提供超類的默認無參構造器,如果此時子類再定義構造器的話構造器會默認調用超類的無參構造器,這就會產生報錯。解決方案就是超類定義無參構造器,或者在子類的構造器中顯式使用Super(參數列表)調用超類的有參構造器在這里插入圖片描述this(參數列表)調用的是本類的構造器,super(參數列表)調用的是超類的構造器在這里插入圖片描述

🪂 instanceof關鍵字

??a instanceof A用來判斷某個實例變量a是否屬于A這個類的類型,如果是的話就返回true否則返回false。instanceof 關鍵字的使用場景就是,在進行向下轉型之前判斷一下左邊的對象是不是右邊的子類,如果是的話才能進行類型強轉,否則會出現ClassCastException異常。值得注意的是,如果 a instanceof A 返回true的話,A的父類放在右邊也會返回true,但是A的子類放在右邊不一定返回true。

🪂 static關鍵字

靜態變量
??使用static修飾的變量又稱為是靜態變量或者類變量,靜態變量的特點是通過該類創建的所有對象共享一個變量,一個對象修改靜態變量的值會造成其他所有對象對該靜態變量的引用值發生改變;而不使用static修飾的實例變量的特征是,每個對象之間的變量修改互不影響。
在這里插入圖片描述
靜態方法
??靜態非靜態之間的相互調用: 使用static修飾的方法又稱為是靜態方法,靜態方法和靜態變量的使用有很大的相似之處,值得注意的是,靜態方法中無法調用該類的非靜態方法和屬性,而非靜態方法可以調用靜態和非靜態的方法和屬性。在這里插入圖片描述??靜態方法內部無法使用的關鍵字: 值得注意的是,靜態方法內部無法使用this和super關鍵字,因為this和super都是對對象屬性或方法的引用,static是隨著類的加載而加載,也就是說static的加載是在對象之前的,static加載的時候還沒有對象的存在,所以說此時調用會產生邏輯錯誤導致報錯在這里插入圖片描述??靜態方法無法被重寫覆蓋: 此外比較重要的就是,static修飾的方法不能被重寫覆蓋,也就是說子類和超類中滿足重寫條件的static方法不會導致重寫覆蓋,使用多態調用的還是超類中的方法,與此同時private修飾的方法封裝在超類中也無法被重寫在這里插入圖片描述??靜態方法調用: 還有就是,我們都知道static修飾的方法可以使用類名直接調用,但是并不是所有的靜態屬性都可以直接使用類名進行調用,因為如果靜態屬性被private修飾的話就無法使用類名調用,所以說“靜態屬性可以直接用類名調用”這句話是不正確的,應該是“非私有的靜態屬性可以直接用類名調用”

🪂 final關鍵字

??修飾類:使用final修飾的類無法被其他類所繼承,也就說該類不能擁有子類,比如String、System等類
??修飾方法:使用final修飾的方法無法被重寫
??修飾變量:使用final修飾的“變量”的值無法修改,也就是一個常量,常量的初始化方式可以是顯示初始化,代碼塊初始化,構造器初始化
??修飾局部變量:可以在方法體中使用final修飾一個局部“變量”,或者方法的參數使用final修飾,無論是哪一種,該局部“變量”的值都無法進行修改

🛫 權限修飾符的作用范圍知多少?

??Java中一共定義了四種權限修飾符,它們按照作用范圍從小到大依次是:private、缺省(default)、protected、public,其中缺省的意思就是在不使用權限修飾符的情況下就默認使用該修飾符。這四種權限修飾符可用來修飾屬性、方法、構造器、內部類等結構,但是類只能使用缺省和public修飾在這里插入圖片描述
??這里我以屬性的調用為例,方法的效果與之相同,接下來就使用代碼測試上圖結論方便大家的理解。首先是屬性定義的本類內部在這里插入圖片描述屬性定義所在類的所在package下的所有類中在這里插入圖片描述屬性定義所在類的不同package有繼承關系的子類在這里插入圖片描述屬性定義所在類的不同package的普通類在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/535038.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/535038.shtml
英文地址,請注明出處:http://en.pswp.cn/news/535038.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JQ 全選后獲取選中的值_Filecoin如何創建賬戶錢包并獲取FIL測試幣

昨天"猩動力節點"加入了fielcoin的測試網絡,對用戶或者礦工來說,如何獲取代幣,創建錢包保護好自己的資產,每一個用戶來說都很關心。下面我們一起來學習如何創建賬戶錢包,并獲取FIL 測試代幣。在創建賬戶錢包…

Redis中 字符串的常用命令

各位小伙伴們大家好,歡迎來到這個小扎扎的Redis 6專欄,在這個系列專欄中我對B站尚硅谷的Redis教程進行一個總結,鑒于 看到就是學到、學到就是賺到 精神,這波依然是血賺 ┗|`O′|┛ 💡Redis知識點速覽&…

mac wmware 無網絡_無線網絡中常用的技術名詞

1、LAN:即局域網:是路由和主機組成的內部局域網,一般為有線網絡。2、WAN:即廣域網:是外部一個更大的局域網。3、WLAN(Wireless LAN,即無線局域網):前面我們說過LAN是局域網,其實大多…

python界面開發webview_python在webview和activity混合頁面下怎么定位

展開全部 genymotion 模擬器:android 5.0.0 python 2.7 appium 1.4.16.1 1、app原生元素定位(常用) driver.find_element_by_id(“resourse-id”32313133353236313431303231363533e59b9ee7ad9431333363393662) driver.find_element_by_name(“…

androidstudio build tools安裝_Android Studio4.0 安裝及配置

本來打算十一月份寫的,結果。。。就在我備注原來的文章的時候,硬盤壞了。。。所以重新配置環境。。。換硬盤,。。。壞的太突然以至于數據都沒有備份。。。。建議大家在參考教程安裝之前先大致瀏覽一遍,這樣安裝的時候就會大致知道…

Redis 五大數據類型的常用命令——列表、集合、哈希、有序集合

各位小伙伴們大家好,歡迎來到這個小扎扎的Redis 6專欄,在這個系列專欄中我對B站尚硅谷的Redis教程進行一個總結,鑒于 看到就是學到、學到就是賺到 精神,這波依然是血賺 ┗|`O′|┛ 💡Redis知識點速覽&…

python工程師面試寶典_2019年,Python工程師必考的6個面試題,Python面試題No5

第1題:Python里面如何實現tuple和list的轉換? 函數tuple(seq)可以把所有可迭代的(iterable)序列轉換成一個tuple, 元素不變,排序也不變 list轉為tuple: temp_list [1,2,3,4,5] 將temp_list進行強制轉換:tuple(temp_li…

aop注解配置切點 spring_springboot aop 自定義注解方式實現一套完善的日志記錄

一:功能簡介本文主要記錄如何使用aop切面的方式來實現日志記錄功能。主要記錄的信息有: 操作人,方法名,參數,運行時間,操作類型(增刪改查),詳細描述,返回值。二:項目結構圖如果想學習…

抽象類、接口的區別和相似點

各位小伙伴們大家好,歡迎來到這個小扎扎的《Java核心技術 卷Ⅰ》筆記專欄,在這個系列專欄中我將記錄淺學這本書所得收獲,鑒于 看到就是學到、學到就是賺到 精神,這波簡直就是血賺 💡涉及的知識點速通🛫 abs…

c標簽判斷true false jsp_Java學習知識點:小白如何掌握JSP技術?

今天千鋒廣州小編就給大家分享零基礎如何掌握JSP技術,下面一起來看看吧!一、Java初級開發之jsp概述1.關于jspJavaServer Pages簡稱jsp,從“server”這個詞可以看出,這其實也是一門java服務端技術,其實可以簡單的把jsp認為是servle…

python語言保留字的特點_python保留字及其說明

原博文 2019-07-14 22:05 ? 保留字 說 明 and 用于表達式運算,邏輯與操作 as 用于類型轉換 assert 斷言,用于判斷變量或條件表達式的值是否為真 break 中斷循環語句的執行 class 用于定義類 continue 繼續執行下一次循環 ...011647 相關推薦 2019-12-19…

使用Java操作Redis的兩種方式Jedis、RedisTemplate

各位小伙伴們大家好,歡迎來到這個小扎扎的Redis 6專欄,在這個系列專欄中我對B站黑馬的Redis教程進行一個總結,鑒于 看到就是學到、學到就是賺到 精神,這波依然是血賺 ┗|`O′|┛ 💡Redis知識點速覽&#…

python提取數據庫數據_Python如何讀取MySQL數據庫表數據

本文實例為大家分享了Python讀取MySQL數據庫表數據的具體代碼,供大家參考,具體內容如下 環境:Python 3.6 ,Window 64bit 目的:從MySQL數據庫讀取目標表數據,并處理 代碼: # -*- coding: utf-8 -*- import p…

【項目實戰】基于Redis實現短信驗證碼登錄 (附源碼、思路)

各位小伙伴們大家好,歡迎來到這個小扎扎的Redis 6專欄,在這個系列專欄中我對B站黑馬的Redis教程進行一個總結,鑒于 看到就是學到、學到就是賺到 精神,這波依然是血賺 ┗|`O′|┛ 💡Redis知識點速覽&#…

加工中心刻字宏程序_FANUC OI系列圖書——車床、銑床及加工中心編程

? 這是金屬加工(mw1950pub)發布的第10035篇文章導讀今天跟大家分享FANUC OI系列圖書,包括車床、銑床及加工中心編程,快來看看吧!《FANUC 0i數控車床/加工中心編程技巧與實例》選擇在企業里應用*廣泛、編程*具代表性的日本FANUCSeries0i-TC/T…

Redis 的緩存策略

各位小伙伴們大家好,歡迎來到這個小扎扎的Redis 6專欄,在這個系列專欄中我對B站黑馬的Redis教程進行一個總結,鑒于 看到就是學到、學到就是賺到 精神,這波依然是血賺 ┗|`O′|┛ 💡Redis知識點速覽&#…

python顯示數據長度_python – 獲取CSV的長度以顯示進度

我正在處理大量CSV文件,每個文件都包含大量行.我的目標是逐行獲取數據并使用 Python將其寫入數據庫.但是,由于存在大量數據,我希望能夠跟蹤已寫入的數據量.為此,我計算了排隊的文件數量,并在每次文件完成時繼續添加一個文件. 我想為CSV文件做類似的事情并顯示我在哪一行,以及總…

關閉后天 樹莓派_陪你一起玩樹莓派-系統安裝

從今天就開始我們的樹莓派之旅,心情是不是有點小激動?我們拿到一個樹莓派是一個裸機。我們要準備一張16G的高速TF閃存卡,一個5V/2A的USB電源和一根micro B的 usb線。裝機步驟:一、下載樹莓派系統1、瀏覽器打開樹莓派官方網站 http…

簡單的簽到代碼_PHP實現一個小小的簽到功能,到底用MySQL還是Redis?

來源 | http://suo.im/5EWN3k今天,看下簽到功能怎么選擇?現在的網站和app開發中,簽到是一個很常見的功能,如微博簽到送積分,簽到排行榜~微博簽到如移動app ,簽到送流量等活動,移動app簽到用戶簽…

【Redis 6】緩存穿透、緩存雪崩、緩存擊穿(附解決方案、代碼)

各位小伙伴們大家好,歡迎來到這個小扎扎的Redis 6專欄,在這個系列專欄中我對B站黑馬的Redis教程進行一個總結,鑒于 看到就是學到、學到就是賺到 精神,這波依然是血賺 ┗|`O′|┛ 💡Redis知識點速覽&#…