大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Javase教程全集:static關鍵字作用

Javase教程全集:static關鍵字作用

更新時間:2020-03-03 10:17:49 來源:動力節點 瀏覽2019次


  靜態變量和靜態方法


  static關鍵字最基本的用法是:


  1、被static修飾的變量屬于類變量,可以通過類名.變量名直接引用,而不需要new出一個類來


  2、被static修飾的方法屬于類方法,可以通過類名.方法名直接引用,而不需要new出一個類來


  被static修飾的變量、被static修飾的方法統一屬于類的靜態資源,是類實例之間共享的,換言之,一處變、處處變。JDK把不同的靜態資源放在了不同的類中而不把所有靜態資源放在一個類里面,很多人可能想當然認為當然要這么做,但是是否想過為什么要這么做呢?個人認為主要有三個好處:


  1、不同的類有自己的靜態資源,這可以實現靜態資源分類。比如和數學相關的靜態資源放在java.lang.Math中,和日歷相關的靜態資源放在java.util.Calendar中,這樣就很清晰了


  2、避免重名。不同的類之間有重名的靜態變量名、靜態方法名也是很正常的,如果所有的都放在一起不可避免的一個問題就是名字重復,這時候怎么辦?分類放置就好了。


  3、避免靜態資源類無限膨脹,這很好理解。


  OK,再微微深入一下,也是有些人容易混淆的一個問題:靜態方法能不能引用非靜態資源?靜態方法里面能不能引用靜態資源?非靜態方法里面能不能引用靜態資源?比如就以這段代碼為例,是否有錯?


Javase教程全集:static關鍵字作用


  當然有錯,在第7行的地方。不妨這么思考這個問題:


  靜態資源屬于類,但是是獨立于類存在的。從JVM的類加載機制的角度講,靜態資源是類初始化的時候加載的,而非靜態資源是類new的時候加載的。類的初始化早于類的new,比如Class.forName(“xxx”)方法,就是初始化了一個類,但是并沒有new它,只是加載這個類的靜態資源罷了。所以對于靜態資源來說,它是不可能知道一個類中有哪些非靜態資源的;但是對于非靜態資源來說就不一樣了,由于它是new出來之后產生的,因此屬于類的這些東西它都能認識。所以上面的幾個問題答案就很明確了:


  1、靜態方法能不能引用非靜態資源?不能,new的時候才會產生的東西,對于初始化后就存在的靜態資源來說,根本不認識它。


  2、靜態方法里面能不能引用靜態資源?可以,因為都是類初始化的時候加載的,大家相互都認識。


  3、非靜態方法里面能不能引用靜態資源?可以,非靜態方法就是實例方法,那是new之后才產生的,那么屬于類的內容它都認識。


  靜態塊


  靜態塊也是static的重要應用之一。也是用于初始化一個類的時候做操作用的,和靜態變量、靜態方法一樣,靜態塊里面的代碼只執行一次,且只在初始化類的時候執行。靜態塊很簡單,不過提三個小細節:


Javase教程全集:static關鍵字作用


  打印結果是:


Javase教程全集:static關鍵字作用


  得出第一個結論:靜態資源的加載順序是嚴格按照靜態資源的定義順序來加載的。這和周志明老師《深入理解Java虛擬機:JVM高級特性與最佳實踐》中類初始化中的說法“<clinit>()方法是由編譯器自動收集類中所有類變量的賦值動作和靜態語句塊(static{}塊)中的語句合并產生的,編譯器收集的順序是由語句在源文件中出現的順序所決定的”是一致的。


      以上就是動力節點Java培訓機構小編介紹的“Javase教程全集:static關鍵字作用”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产在线欧美精品中文一区 | 污影院 | 在线观看欧美亚洲日本专区 | 可以免费观看一级毛片黄a 可以直接看的毛片 | 欧美一二三区视频 | 特级黄一级播放 | 鲁一鲁中文字幕久久 | 欧美色精品天天在线观看视频 | 性做久久久久久久 | 日韩经典中文字幕 | 波多野吉衣一区二区三区四区 | 国内精品在线视频 | 人人干人人舔 | 亚洲伊人久久大香线蕉结合 | 九九99| 我想看一级播放片一级的 | 99精品国产免费久久国语 | 欧美视频亚洲 | 在线a亚洲视频播放在线观看 | 国产精品aaa | 在线观看黄p免费 | 国产在线98福利播放视频免费 | 最新精品亚洲成a人在线观看 | 偷拍清纯高清视频在线 | 久久这里只精品国产99热 | 国产色网址 | 久久久久激情免费观看 | 手机在线看片国产日韩生活片 | 日本一区二区三区中文字幕 | 综合久久久久综合 | 国产在线91精品入口 | 亚洲精品一区二区三区四区 | 国产做爰免费视频观看 | 久久久久亚洲精品一区二区三区 | 亚洲精品成人久久 | 欧美午夜片 | 天天骑天天射 | 欧美视频一区二区 | 亚洲精品区一区二区三区四 | 国产三级做爰高清视频a | 99在线播放 |