日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【解决bug之路】JAVA 之 static

發布時間:2023/12/4 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【解决bug之路】JAVA 之 static 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在Java語言中,static表示“靜態”的意思,使用場景可以用來修飾成員變量和成員方法,當然也可以是靜態代碼塊。static的主要作用在于創建獨立于具體對象的域變量或者方法。本文主要來去講解一下static的來龍去脈。

static要解決什么問題?

我們知道,當我們通過new關鍵字去創建對象的時候,那么數據的存儲空間才會被分配,類中的成員方法才能被對象所使用。但是呢有兩種特殊的情況:

1、我們通過new關鍵字創建的對象共享同一個資源,而不是說每個對象都擁有自己的數據,或者說根本就不需要去創建對象,這個資源和對象之間是沒有關系的。

2、希望某個方法不與包含它的類的任何對象聯系在一起。總結下來就是說:即使沒有創建對象,也能使用屬性和調用方法,static目的就是在于解決這個問題。//加入Java開發交流君樣:756584822一起吹水聊天

格式

修飾變量:static 數據類型 變量名

修飾方法:【訪問權限修飾符】 static 方法返回值 方法名(參數列表)

特點

static可以修飾變量,方法被static修飾的變量或者方法是獨立于該類的任何對象,也就是說,這些變量和方法不屬于任何一個實例對象,而是被類的實例對象所共享。在類被加載的時候,就會去加載被static修飾的部分。被static修飾的變量或者方法是優先于對象存在的,也就是說當一個類加載完畢之后,即便沒有創建對象,也可以去訪問。//加入Java開發交流君樣:756584822一起吹水聊天

static靜態變量

被static修飾的成員變量叫做靜態變量,也叫做類變量,說明這個變量是屬于這個類的,而不是屬于是對象,沒有被static修飾的成員變量叫做實例變量,說明這個變量是屬于某個具體的對象的。

靜態變量和實例變量的區別

實例變量:每次創建對象,都會為每個對象分配成員變量內存空間,實例變量是屬于實例對象的,在內存中,創建幾次對象,就有幾份成員變量。

靜態變量:靜態變量由于不屬于任何實例對象,是屬于類的,所以在內存中只會有一份,在類的加載過程中,JVM為靜態變量分配一次內存空間。

static靜態方法

被static修飾的方法也叫做靜態方法,因為對于靜態方法來說是不屬于任何實例對象的,那么就是說在靜態方法內部是不能使用this的,因為既然不屬于任何對象,那么就更談不上this了。

static應用場景

如果某個成員變量是被所有對象所共享的,那么這個成員變量就應該定義為靜態變量。

static如何去訪問//加入Java開發交流君樣:756584822一起吹水聊天

靜態變量:

類名.靜態變量

對象.靜態變量(不推薦的)

靜態方法:

類名.靜態方法

對象.靜態方法(不推薦)

這里呢就啰嗦一句,由于被static修飾的變量和方法是不屬于任何實例對象的,所以在這里,強烈建議不要通過對象的方式去訪問靜態的變量或者方法。

static使用注意事項

在靜態方法中沒有this關鍵字因為靜態是隨著類的加載而加載,而this是隨著對象的創建而存在的。靜態比對象優先存在。靜態可以訪問靜態的,但是靜態不能訪問非靜態的。非靜態的可以去訪問靜態的。

總結

靜態只能訪問靜態。非靜態既可以訪問非靜態的,也可以訪問靜態的。

總結

以上是生活随笔為你收集整理的【解决bug之路】JAVA 之 static的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。