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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

java static method_java 中static的几种用法

發布時間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java static method_java 中static的几种用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.static修飾變量和方法

在類的變量和方法上加上了static修飾符以后,在JVM加載該類的時候就會被分配到方法區(new 出來的對象分配到堆),因此不需要在創建該類的實例以后再進行引用。

有幾點需要特別注意:

在static方法中不能調用其他的非static方法;

不能引用this或者super;

在static的方法上加synchronized占用的是類鎖而非對象鎖,比如一個線程執行一個對象的非static synchronized方法,另外一個線程需要執行這個對象所屬類的static synchronized方法,此時不會發生互斥現象;

2.static靜態代碼塊

public class StaticCodeTest {

public StaticCodeTest(){

System.out.println("我是構造方法,我被執行了");

}

static {

System.out.println("我是static代碼塊,我被執行了,我只會被執行一次");

}

}

public static void main(String[] args){

new StaticCodeTest();

new StaticCodeTest();

}

運行結果:

我是static代碼塊,我被執行了,我只會被執行一次

我是構造方法,我被執行了

我是構造方法,我被執行了

Process finished with exit code0

static代碼塊會在JVM加載類的時候執行,并且只會執行一次,應用較多的場景一般是項目啟動的時候加載初始化配置。

3.靜態內部類

在Java中不能用static修飾頂級類,但是允許我們在一個類里面定義內部靜態類,靜態類只能訪問外部類的靜態成員,不管是靜態方法還是非靜態方法都可以在非靜態內部類中訪問。

public classStaticCodeTest {static classInnerStatiClass{public voidprint(){

System.out.println("我是靜態內部類");

}

}

}

public static void main(String[] args){

new StaticCodeTest.InnerStatiClass().print();

}

4.import static導入

import static 靜態導入是從jdk1.5以后引入的,方式:import static java.lang.Integer.MAX_VALUE;或者:import static java.lang.Integer.*;這樣寫的好處是我們可以直接在代碼中調用引入的靜態方法,而不需要通過classname.method()來引用,減少代碼的重復使用。

總結

以上是生活随笔為你收集整理的java static method_java 中static的几种用法的全部內容,希望文章能夠幫你解決所遇到的問題。

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