日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

java關鍵字static的使用詳解

瀏覽:22日期:2022-08-27 14:54:18
關鍵字 static1. 概述 static 是一種修飾符 static 是Java中表靜態的關鍵字 它可以修飾成員變量、成員方法、代碼塊 被static修飾的成員變量或成員方法,將不再依賴于對象的創建而去使用,而是依賴類的存在,成為類成員或類方法,是共享的(下面將會詳細的解釋)。2. static修飾成員變量2.1 常見的修飾符 public 修飾符 private 修飾符 沒有修飾符 static 修飾符(靜態修飾符)

class Test {// public 修飾符public int a;// private 修飾符private int b;// 沒有修飾符int c;// static 修飾符public static int d;}2.2 內存圖分析講解static修飾成員變量

class Test {public int a;public String b;public double c;public static int d;}Test t = new Test();

以上述簡單的測試類為例,畫其底層的內存圖(下圖是我自己手畫的圖,天生手殘,請大家多擔待😂):

java關鍵字static的使用詳解

以上就是很簡單的Java實例化對象從創建內存到給成員變量開辟內存空間,并默認初始化的底層內存圖,我來解釋以下上面的圖:

在棧中開辟一塊內存,以main標識的內存空間,為main方法的函數幀。 在main函數幀標識的內存中,開辟一塊以t標識(實例化對象的名字)的局部變量內存,其中存放的是地址值(或稱引用值),指向堆空間中保存成員變量內存的首地址。 堆空間開辟一塊內存,用來存放成員變量,其開辟內存的個數于其成員變量的個數有關,以次Test為例,非static修飾的變量有3個,變在其中開辟三塊內存空間,用來存放著三個變量,順序為類中定義變量的順序。將該內存地址的首地址賦給棧中t標識的那塊內存。 因為成員變量在堆中開辟的內存,堆的機制,存在默認初始化,所以對成員變量賦予默認初始化的值,int,double,屬于基本數據類型,所以直接將其默認值0,0.0寫入對應的內存當中;成員變量c為字符型,為引用數據類型,所以其內存中存放的是地址值,指向堆中的另一塊空間,并賦予默認值null,完成成員變量的初始化。 從圖中可以很明顯的看出,存放d,用static修飾的成員變量,其內存的開辟不在堆內存中開辟,而是在方法區中的靜態區開辟(可以理解靜態區就在方法區當中)。 靜態區隨類的加載而開辟,且其中的存放的靜態成員變量是共享的,且僅有次一塊內存。2.3 static修飾的成員變量的特點 static修飾的成員變量不再是普通的成員變量,而是類成員變量 其隨著類的加載而加載,隨著類的加載而開辟內存,不依賴于對象的存在 其內存在靜態區存放 被類的所有對象所共享2.4 簡單的代碼解釋并說明如何使用

class Test {public int a = 10;public static int b = 20;}// 類已經加載,并沒有實例化,此時靜態區已經開辟,可以調用使用靜態變量,并不依賴于對象存在,而是依賴于類的存在,使用時,直接類名.變量名,即可。syso(Test.b); // 輸出 20// 實例化對象,此時才在堆空間中開辟一系列的內存,上述原理中已經闡述,此時才可以調用a的值。Test t = new Test();syso(t.a); // 輸出 10// 當然也可調用 b 的值syso(t.b); // 輸出 203. static修飾成員方法3.1 為什么使用static去修飾成員方法

用static修飾的成員變量是靜態變量,也稱類變量,它是隨著類的加載而加載的,地址內存在靜態區,不再依賴對象而存在。但是如何手動改變或設置或調用它的值呢,即操作static數據成員?

可以默認初始化,即開辟內存空間的時候,底層自動賦予它類型默認的初始值。 顯示初始化。即在定義其的時候,給它一個值。

public static int a = 10;

但是如何手動的給它賦予值并且調用呢,這就引入了用static修飾的成員方法,類方法。

2.2 static修飾的成員方法的特點 不再是普通的成員方法,而是類方法,隨著類的加載而加載,不再依賴于對象,而是依賴于類。因 為不再依賴于對象的存在,所以就和對象毫無關系,所以在類方法中不存在 this 引用(this表當前對象,隨著對象的創建而加載),所以就不能調用非靜態的成員變量和函數。 只能訪問靜態成員和靜態的成員方法 類比對象優先 靜態只能訪問靜態2.3 簡單的代碼解釋并說明如何使用

class Test {// 一般的類中的成員變量都是私有的private static String lib;// static 只能訪問靜態成員 和 靜態方法public static String getLib() {// 普通數據成員,依賴對象// 不依賴對象// 不存在 this.lib; 不存在 this 引用return lib;} // 局部變量public static void setLib(String lib) {// 通過類名.static成員 解決同名的問題School.lib = lib;//static 不可以調用其它 非 static 的成員方法}}// 在使用的時候,直接 類名.方法名 即可// 如果要使用類,必須先把 .class 文件裝入內存 當裝入內存后,類立馬開辟內存在方法區,形成類的對象// 類成員 調用方法// 類名 .成員名School.setLib('1');System.out.println('lib: ' + School.getLib());3. static修飾代碼塊3.1 概述靜態代碼塊

在Java中的代碼塊,有局部代碼塊,構造代碼塊,靜態代碼塊,三者執行順序,作用,會單獨出一篇博文來簡單說明。所謂靜態代碼塊就是用static修飾的代碼塊。

class Test {// 靜態代碼塊static {syso(...);}} 靜態代碼塊,隨著類的加載而加載,指執行一次,且優于主函數的執行,即在main函數入口之前就執行。 靜態代碼塊是由類調用的,在主函數之前就執行。 作用:對類和靜態變量進行一系列的初始化 靜態代碼塊中的變量是局部變量,與普通函數中的局部變量性質沒有區別。 可以由多個靜態代碼塊3.2 代碼解釋

輸出:

java關鍵字static的使用詳解

可以明顯的看出,當類加載還未執行main函數的時候,主類中的static已經執行,之后執行main函數,從上至下順序執行,當類進行實例化的時候,同樣也是現執行類中的static代碼塊,再執行構造器中的代碼塊

4. 總結static關鍵字static

1.靜態方法 | 靜態成員變量:類中的方法 | 成員變量,加上static修飾,就成了靜態成員方法(類方法) | 靜態成員變量(類變量)2.static成員方法和普通成員方法的本質區別在于沒有this指針static成員方法只能引用類中的靜態成員(屬性、方法)static成員方法不能引用類中的非靜態成員3.類變量和類方法,都是隨著類的加載而加載的,依賴于類,優于對象的,使用的時候 類名.變量名(方法名),被類的所有對象而共享的4.普通成員方法既可以引用static成員,也可以普通成員5.可以通過類名調用static成員方法,也可以通過對象名調用6.static方法之所以存在,就是為了操作static數據成員

到此這篇關于java關鍵字static的使用詳解的文章就介紹到這了,更多相關java關鍵字static內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美极品一区二区三区| 久久不卡日韩美女| 国产伦一区二区三区| 一区二区电影| 精品国产精品久久一区免费式| 亚洲影视一区二区三区| 亚洲欧美日韩视频二区| 精品丝袜在线| 精品中文在线| 欧美午夜网站| 日韩成人午夜精品| 日韩精品一区二区三区中文 | 91精品国产成人观看| 日韩avvvv在线播放| 亚洲神马久久| 亚洲高清毛片| 国产国产精品| 国产在线不卡| 激情偷拍久久| 国产一区视频在线观看免费| 日韩网站中文字幕| 福利在线免费视频| 成人一区而且| 精品捆绑调教一区二区三区| 成人在线视频免费| 国产精品网站在线看| 精品一级视频| 成人日韩av| 97精品国产福利一区二区三区| 国产黄大片在线观看| 中文字幕在线看片| 亚洲欧美日韩综合国产aⅴ| 三级在线观看一区二区| 日本不卡一区二区三区| 欧美极品中文字幕| 秋霞影院一区二区三区 | 精品国产91| 久久精品动漫| 日韩免费小视频| 香蕉久久99| 日韩精品一级中文字幕精品视频免费观看 | 成人在线免费观看91| av日韩中文| 免费不卡中文字幕在线| 亚洲综合福利| 欧美激情福利| 香蕉精品视频在线观看| 亚洲综合不卡| 久久永久免费| 免费视频久久| 久久午夜影院| 亚洲伊人影院| 电影天堂国产精品| 国产欧美日韩视频在线| 久久久久国产精品一区三寸| 91久久黄色| 国产精品99一区二区三| 最新亚洲国产| 久久五月天小说| 久久久久伊人| 婷婷精品在线| 日韩视频在线一区二区三区| 成人国产精品一区二区免费麻豆| 日韩中文字幕1| 亚洲福利国产| 麻豆mv在线观看| 青青草国产成人99久久| 视频一区国产视频| 99精品电影| 另类欧美日韩国产在线| 亚洲一区国产| 久久久久国产一区二区| 四季av一区二区凹凸精品| 日韩精品亚洲专区在线观看| 五月天激情综合网| 亚洲性色视频| 国户精品久久久久久久久久久不卡 | 日韩欧美久久| 亚洲精品美女| 鲁大师成人一区二区三区| 国产精品日韩欧美一区| 亚洲激情社区| 亚洲第一区色| 最新国产拍偷乱拍精品| 亚洲欧美日韩高清在线| 久久久久国产精品一区二区| 久久免费大视频| 久久精品中文| 99国产精品视频免费观看一公开| 激情亚洲影院在线观看| 精品福利久久久| 国产精品mm| 久久精品欧洲| 欧美韩日一区| 成人午夜国产| 亚洲激情欧美| 中文字幕亚洲影视| 国产欧美69| 青青青免费在线视频| 久久久亚洲一区| 视频一区国产视频| 欧美日韩xxxx| 精品国产99| 91精品国产91久久久久久黑人| 91精品一区国产高清在线gif| 国产一区国产二区国产三区| 香蕉成人av| 亚洲人成毛片在线播放女女| 国产精品草草| 亚洲高清影视| 欧美另类中文字幕| 久久天堂av| 国产日韩欧美一区在线| 色综合五月天| 婷婷综合成人| 99久精品视频在线观看视频| 日韩中文字幕| 香蕉视频亚洲一级| 少妇精品在线| 88久久精品| 日韩av影院| 国产精品videossex久久发布 | 欧美中文字幕一区二区| 国产一区日韩欧美| 伊人影院久久| 亚洲免费一区三区| 日韩美女国产精品| 久久精品99国产国产精| 欧美成人精品一级| 国产一区二区三区四区| 高清一区二区| 黄色免费成人| 日韩精品免费观看视频| 日本免费在线视频不卡一不卡二| 欧美亚洲专区| 免费不卡在线视频| 香蕉久久99| 精品国产一区二区三区噜噜噜| 日韩理论片av| 一本色道久久精品| 五月婷婷六月综合| 亚洲在线电影| 91精品国产自产精品男人的天堂 | 午夜影院欧美| 蜜臀av国产精品久久久久| 亚洲狼人精品一区二区三区| 亚洲精品九九| 亚洲日本国产| 国产精品分类| 国产福利91精品一区二区| 欧洲av不卡| 99视频精品免费观看| 日韩中文字幕一区二区三区| 天使萌一区二区三区免费观看| 免费美女久久99| 国产精品一区二区精品视频观看| 国产精品白丝av嫩草影院| 国产a久久精品一区二区三区| 2023国产精品久久久精品双| 最新国产精品视频| 国产精品黄色片| 欧美午夜不卡影院在线观看完整版免费| 午夜久久久久| 国产精品一二| 在线综合亚洲| 国产精品一级| 国产一区 二区| 亚洲精品中文字幕乱码| 国产模特精品视频久久久久| 免费日韩成人| аⅴ资源天堂资源库在线| 亚洲欧美日韩国产一区| 欧美精品成人| 日韩影院在线观看| 中文在线中文资源| 久久gogo国模啪啪裸体| 天堂va在线高清一区| 久久av影院| 日韩精品社区| 国产精品一区二区av日韩在线| 亚洲丝袜美腿一区| 日韩影院免费视频| 综合精品一区| 中文字幕日韩高清在线 | 亚洲精品极品| 国产一区二区三区不卡av | 欧洲av不卡| 综合欧美精品| 国产精品高潮呻吟久久久久| 免费久久99精品国产自在现线| 麻豆精品在线观看| 婷婷综合福利| 久久国产日本精品| 天堂va欧美ⅴa亚洲va一国产| 日本少妇一区| 国产精品久久久久久模特| 久久精品二区亚洲w码| 成人午夜亚洲| 亚洲欧美专区| 久久精品国产久精国产|