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

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

java關鍵字static的使用詳解

瀏覽:24日期: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久久,三上悠亚国产精品一区二区三区
亚洲一区日韩在线| 神马久久午夜| 国产精品99一区二区| 神马午夜在线视频| 日韩在线免费| 日韩欧美一区免费| 欧美成a人免费观看久久| 日韩欧美精品| 美女av在线免费看| 岛国av在线网站| 日韩欧美一区二区三区在线视频| 国产成人免费视频网站视频社区| 老司机精品在线| 精品视频99| www.51av欧美视频 | 欧美精选一区二区三区| 日本不卡免费高清视频在线| 日韩欧美一区二区三区在线观看 | 国产精品综合色区在线观看| 欧美黄色一区二区| 神马久久午夜| 国产高清久久| 一级成人国产| 国产欧美另类| 福利在线免费视频| 国产欧美一区二区三区精品酒店| 蜜桃成人精品| 亚洲欧美日韩综合国产aⅴ| 在线观看亚洲精品福利片| 久久精品99久久久| 蜜臀国产一区| 久久国产99| 国产欧美成人| 日本午夜大片a在线观看| 九色精品91| 日韩中文字幕在线一区| 精品国产亚洲一区二区三区在线| 日韩精品一卡| 婷婷五月色综合香五月| 麻豆精品视频在线观看视频| 久久久久久色 | 四季av一区二区凹凸精品| 欧美日韩水蜜桃| 亚洲精品乱码日韩| 狠狠久久伊人中文字幕| 欧美高清不卡| 久久国产乱子精品免费女| 成人一区而且| 爽好久久久欧美精品| 久久不见久久见国语| 性欧美xxxx免费岛国不卡电影| 亚洲精品激情| 亚洲精品一级二级| 日韩精品高清不卡| 91精品国产福利在线观看麻豆| 蜜臀av一区二区在线免费观看 | 国产精品15p| 国产亚洲一区二区手机在线观看| 免费人成在线不卡| 黄色在线观看www| 一区二区三区国产盗摄| 高清一区二区三区| 在线免费观看亚洲| xxxxx性欧美特大| 日韩av字幕| 久久中文亚洲字幕| 久久精品国产99国产| 国产精品嫩草99av在线| 精品国产三区在线| 综合一区二区三区| 亚洲www啪成人一区二区| 国产午夜精品一区在线观看| 婷婷亚洲五月| 国产日韩欧美中文在线| 欧美日韩免费观看一区=区三区 | 天使萌一区二区三区免费观看| 久久不见久久见中文字幕免费| 好吊日精品视频| 精品高清久久| 日韩av字幕| 免播放器亚洲| 视频小说一区二区| 欧美经典一区| 亚洲影视一区二区三区| 精品一区二区三区亚洲| 亚洲精品九九| 国产综合欧美| 日韩中文在线电影| 国产高清日韩| 亚洲精品欧美| 狠狠爱成人网| 国产不卡精品| 欧美日本二区| 欧美一区二区三区激情视频| 97成人超碰| 日韩三区免费| 国产精品一区高清| 一区二区三区网站| 婷婷综合亚洲| 久久超级碰碰| 日韩欧美激情| 视频一区欧美精品| 夜久久久久久| 国产精品99免费看| 欧美日韩国产观看视频| 精品网站aaa| 国产欧美日韩在线观看视频| 一区二区精彩视频| 亚洲欧美日韩一区在线观看| jiujiure精品视频播放| 欧洲亚洲一区二区三区| 都市激情国产精品| 福利一区二区免费视频| 国产成人精品福利| 久久久精品国产**网站| 国产日韩视频| 国产精品网在线观看| 国产亚洲精品美女久久久久久久久久| 日韩**一区毛片| 日韩精品国产精品| 亚洲精品第一| 亚洲aa在线| 日韩一二三区在线观看| 亚洲精品大片| 日韩国产欧美视频| 欧美亚洲国产日韩| 国产欧美成人| 国产精品久久久久久久免费软件| 91嫩草精品| 国产精品一区2区3区| 日韩精品91亚洲二区在线观看| 日韩精品亚洲aⅴ在线影院| 欧美精品中文字幕亚洲专区| 欧美一区免费| 另类小说一区二区三区| 精品日产乱码久久久久久仙踪林| 国产精品白丝久久av网站| 美女久久久久久 | 国产日韩欧美| 国产欧美日韩在线观看视频 | 日韩av一二三| 日韩国产欧美在线播放| 国产精品一区毛片| 国产一区二区精品久| 久久国产直播| 免费在线观看不卡| 你懂的国产精品| 日韩免费精品| 中文字幕一区二区精品区| 亚洲bt欧美bt精品777| 国产日韩欧美三级| 成人国产精品一区二区网站| 久久久久蜜桃| 男人天堂欧美日韩| 国产精品一区二区三区四区在线观看 | 今天的高清视频免费播放成人| 午夜国产精品视频免费体验区| 免费观看日韩电影| 国产亚洲人成a在线v网站| 精品三级在线观看视频| 日韩欧美一区二区三区在线观看 | 亚洲精品一区二区妖精| 一区二区三区四区日韩| 国产精品密蕾丝视频下载| caoporn视频在线| 欧美日韩国产在线一区| 日本不卡视频在线| 色爱综合网欧美| av不卡在线| 国产精品午夜av| 成人精品中文字幕| 视频在线观看一区二区三区| 国产精品一线天粉嫩av| 久久网站免费观看| 视频一区视频二区中文字幕| 国产精品观看| 欧美~级网站不卡| 欧美日韩黄网站| 久久久久美女| 日本a口亚洲| 99久久久久| 国产伦精品一区二区三区视频| 国产精品99久久精品| 丝袜国产日韩另类美女| 风间由美中文字幕在线看视频国产欧美| 亚洲精品a级片| 麻豆国产一区| 激情婷婷综合| 国产精品网址| 欧美搞黄网站| 国产精品xxx| 亚洲激情另类| 国产成人黄色| 午夜亚洲福利| 亚洲成人精品| 免费日韩成人| 亚洲精品亚洲人成在线观看| 蜜桃精品在线| 久久99视频| 亚洲精品乱码|