Java靜態(tài)static關(guān)鍵字原理詳解
這篇文章主要介紹了Java靜態(tài)static關(guān)鍵字原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
static關(guān)鍵字既可以修飾成員變量,也可以修改成員方法,修飾的成員變量和成員方法可以直接通過類名調(diào)用,也可以通過對象調(diào)用(其實(shí)即使是通過對象調(diào)用,也會被翻譯成類名調(diào)用),建議通過類名調(diào)用。
成員方法用static修飾后,就成為了靜態(tài)方法,靜態(tài)方法不屬于對象,而是屬于類。
注意事項(xiàng):
1.靜態(tài)方法中不能使用this,因?yàn)閠his指的是當(dāng)前對象,而靜態(tài)方法是通過類名調(diào)用的
2.靜態(tài)不能直接訪問非靜態(tài),因?yàn)閮?nèi)存中是【先】有靜態(tài),【后】有非靜態(tài),可能會出現(xiàn)調(diào)用的東西不存在
3.調(diào)用同一個類中的靜態(tài)方法,可以直接寫方法名,省略類名,默認(rèn)自帶類名
4.當(dāng)?shù)谝淮斡玫奖绢悤r,靜態(tài)代碼塊只執(zhí)行唯一一次,后續(xù)訪問也不再執(zhí)行
5.靜態(tài)內(nèi)容總是優(yōu)先于非靜態(tài)的,所以靜態(tài)代碼塊優(yōu)先于構(gòu)造方法執(zhí)行
靜態(tài)代碼塊典型用途,用來一次性對靜態(tài)成員變量進(jìn)行賦值。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳解JDK 5 Annotation 注解之@Target的用法介紹
這篇文章主要介紹了詳解JDK 5 Annotation 注解之@Target的用法介紹,需要的朋友可以參考下2016-02-02解讀System.getProperty("ENM_HOME")中的值從哪獲取的
這篇文章主要介紹了解讀System.getProperty("ENM_HOME")中的值從哪獲取的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12詳解java并發(fā)編程(2) --Synchronized與Volatile區(qū)別
這篇文章主要介紹了Synchronized與Volatile區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Java泛型在集合使用與自定義及繼承上的體現(xiàn)和通配符的使用
泛型又稱參數(shù)化類型,是Jdk5.0 出現(xiàn)的新特性,解決數(shù)據(jù)類型的安全性問題,在類聲明或?qū)嵗瘯r只要指定好需要的具體的類型即可。Java泛型可以保證如果程序在編譯時沒有發(fā)出警告,運(yùn)行時就不會產(chǎn)生ClassCastException異常。同時,代碼更加簡潔、健壯2021-09-09SpringBoot中的Condition包下常用條件依賴注解案例介紹
這篇文章主要介紹了SpringBoot中的Condition包下常用條件依賴注解案例,文章基于Java的相關(guān)資料展開主題詳細(xì)內(nèi)容,需要的小伙伴可以參考一下2022-04-04Spring Security 安全認(rèn)證的示例代碼
這篇文章主要介紹了Spring Security 安全認(rèn)證的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10