欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于Java中靜態(tài)代碼塊的執(zhí)行淺析

 更新時間:2017年09月20日 10:50:42   作者:Payne Xu  
這篇文章主要給大家介紹了關(guān)于Java中靜態(tài)代碼塊執(zhí)行的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。

前言

一般情況下,如果有些代碼必須在項目啟動的時候就執(zhí)行的時候,需要使用靜態(tài)代碼塊,這種代碼是主動執(zhí)行的;需要在項目啟動的時候就初始化,在不創(chuàng)建對象的情況下,其他程序來調(diào)用的時候,需要使用靜態(tài)方法,這種代碼是被動執(zhí)行的, 靜態(tài)方法在類加載的時候就已經(jīng)加載,可以用類名直接調(diào)用。

比如main方法就必須是靜態(tài)的,這是程序入口

兩者的區(qū)別就是:

  • 靜態(tài)代碼塊是自動執(zhí)行的;
  • 靜態(tài)方法是被調(diào)用的時候才執(zhí)行的.

問題及總結(jié)

關(guān)于靜態(tài)代碼塊其實是面試時老生常談的問題,雖然面試時問了我也大概知道,但是在用的時候還是踩了個小坑。我想通過調(diào)用類的靜態(tài)變量來觸發(fā)靜態(tài)代碼塊的調(diào)用,但是沒有成功。

總結(jié)下靜態(tài)代碼塊能執(zhí)行的條件:

第一次初始化對象

第一次調(diào)用靜態(tài)方法

第一次調(diào)用靜態(tài)代碼塊下面的靜態(tài)變量

   public class ConfigHandler {
     public static p1 = “p1”;

     static{
      System.out.println("this is a static code block");
     }

     public static p2 = “p2”;
     public static p3 ;

     public static init(){}
   }

static中System.out.println("this is a static code block");可以執(zhí)行的情況如下:

  • new ConfigHandler();
  • System.out.println(ConfigHandler.p2);
  • System.out.println(ConfigHandler.p3)
  • ConfigHandler.init(); //在代碼中的位置任意

輸出p1時static代碼塊不執(zhí)行,即調(diào)用靜態(tài)代碼塊前面的靜態(tài)變量,靜態(tài)代碼塊不會執(zhí)行。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • springboot對象為null的屬性在json中不顯示的解決

    springboot對象為null的屬性在json中不顯示的解決

    這篇文章主要介紹了springboot對象為null的屬性在json中不顯示的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 基于String變量的兩種創(chuàng)建方式(詳解)

    基于String變量的兩種創(chuàng)建方式(詳解)

    下面小編就為大家?guī)硪黄赟tring變量的兩種創(chuàng)建方式(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • SpringBoot加載讀取配置文件過程詳細分析

    SpringBoot加載讀取配置文件過程詳細分析

    在實際的項目開發(fā)過程中,我們經(jīng)常需要將某些變量從代碼里面抽離出來,放在配置文件里面,以便更加統(tǒng)一、靈活的管理服務(wù)配置信息。所以本文將為大家總結(jié)一下SpringBoot加載配置文件的常用方式,需要的可以參考一下
    2023-01-01
  • 關(guān)于elasticsearch的match_phrase_prefix查詢詳解

    關(guān)于elasticsearch的match_phrase_prefix查詢詳解

    這篇文章主要介紹了關(guān)于elasticsearch的match_phrase_prefix查詢問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • mybatis-plus使用問題小結(jié)

    mybatis-plus使用問題小結(jié)

    這篇文章主要介紹了mybatis-plus使用問題匯總,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • 遠程連接Jedis和整合SpringBoot的詳細過程

    遠程連接Jedis和整合SpringBoot的詳細過程

    這篇文章主要介紹了遠程連接Jedis和整合SpringBoot的詳細過程,本文通過圖文實例相結(jié)合給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • Java TCP協(xié)議通信超詳細講解

    Java TCP協(xié)議通信超詳細講解

    TCP/IP是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,它會保證數(shù)據(jù)不丟包、不亂序。TCP全名是Transmission Control Protocol,它是位于網(wǎng)絡(luò)OSI模型中的第四層
    2022-09-09
  • Spring 校驗(validator,JSR-303)簡單實現(xiàn)方式

    Spring 校驗(validator,JSR-303)簡單實現(xiàn)方式

    這篇文章主要介紹了Spring 校驗(validator,JSR-303)簡單實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • jdk-logging?log4j?logback日志系統(tǒng)實現(xiàn)機制原理介紹

    jdk-logging?log4j?logback日志系統(tǒng)實現(xiàn)機制原理介紹

    這篇文章主要介紹了jdk-logging、log4j、logback日志介紹以及三個日志系統(tǒng)的實現(xiàn)機制,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • @Autowired注入為null問題原因分析

    @Autowired注入為null問題原因分析

    這篇文章主要介紹了@Autowired注入為null問題原因分析嗎,小編覺得挺不錯的,對日后比較有幫助,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11

最新評論