最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java靜態(tài)代碼塊作用及執(zhí)行順序解析

 更新時間:2020年04月27日 09:10:24   作者:心~晴  
這篇文章主要介紹了Java靜態(tài)代碼塊作用及執(zhí)行順序解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

一般情況下,如果有些代碼必須在項目啟動的時候就執(zhí)行,需要使用靜態(tài)代碼塊。這種代碼是主動執(zhí)行的,需要在項目啟動的時候就初始化。

有些代碼是在不創(chuàng)建對象的情況下,由其他程序來調用,需要使用靜態(tài)方法。這種代碼是被動執(zhí)行的。 靜態(tài)方法在類加載的時候就已經加載,可以用類名直接調用

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

兩者的區(qū)別就是:靜態(tài)代碼塊是自動執(zhí)行的,而靜態(tài)方法是被調用的時候才執(zhí)行的。

區(qū)別很簡單:

靜態(tài)代碼塊,在虛擬機加載類的時候就會加載執(zhí)行,而且只執(zhí)行一次;

非靜態(tài)代碼塊,在創(chuàng)建對象的時候(即new一個對象的時候)執(zhí)行,每次創(chuàng)建對象都會執(zhí)行一次

相同點:都是在JVM加載類時且在構造方法執(zhí)行之前執(zhí)行,在類中都可以定義多個,

    一般在代碼塊中對一些static變量進行賦值。

不同點:靜態(tài)代碼塊在非靜態(tài)代碼塊之前執(zhí)行(靜態(tài)代碼塊—>非靜態(tài)代碼塊—>構造方法)。

    靜態(tài)代碼塊只在第一次類加載時執(zhí)行一次,之后不再執(zhí)行,而非靜態(tài)代碼塊在每new

    一次就執(zhí)行一次。非靜態(tài)代碼塊可在普通方法中定義(不過作用不大);而靜態(tài)代碼塊不行。

例:

//普通類
public class PuTong {
	public PuTong(){
		System.out.print("默認構造方法!-->");
	}
	//非靜態(tài)代碼塊
	{
		System.out.print("非靜態(tài)代碼塊!-->");
	}
	//靜態(tài)代碼塊
	static{
		System.out.print("靜態(tài)代碼塊!-->");
	}
	public static void test(){
		{
			System.out.println("普通方法中的代碼塊!");
		}
	}
}
//測試類
public class TestClass {
	/**
* 區(qū)別兩次new靜態(tài)與非靜態(tài)代碼塊執(zhí)行情況
*/
	public static void main(String[] args) {
		PuTong c1 = new PuTong();
		c1.test();
		PuTong c2 = new PuTong();
		c2.test();
	}
}
/*
運行輸出結果是:
靜態(tài)代碼塊!-->非靜態(tài)代碼塊!-->默認構造方法!-->普通方法中的代碼塊!
非靜態(tài)代碼塊!-->默認構造方法!-->普通方法中的代碼塊!
*/

繼承的時候:

分析:對象的初始化順序:首先執(zhí)行父類靜態(tài)的內容,父類靜態(tài)的內容執(zhí)行完畢后,接著去執(zhí)行子類的靜態(tài)的內容,當子類的靜態(tài)內容執(zhí)行完畢之后,再去看父類有沒有非靜態(tài)代碼塊,

如果有就執(zhí)行父類的非靜態(tài)代碼塊,父類的非靜態(tài)代碼塊執(zhí)行完畢,接著執(zhí)行父類的構造方法;父類的構造方法執(zhí)行完畢之后,它接著去看子類有沒有非靜態(tài)代碼塊,如果有就執(zhí)行子類的非靜態(tài)代碼塊。

子類的非靜態(tài)代碼塊執(zhí)行完畢再去執(zhí)行子類的構造方法??傊痪湓挘o態(tài)代碼塊內容先執(zhí)行,接著執(zhí)行父類非靜態(tài)代碼塊和構造方法,然后執(zhí)行子類非靜態(tài)代碼塊和構造方法。

而且子類的構造方法,不管這個構造方法帶不帶參數(shù),默認的它都會先去尋找父類的不帶參數(shù)的構造方法。如果父類沒有不帶參數(shù)的構造方法,那么子類必須用supper關鍵子來調用父類帶參數(shù)的構造方法,否則編譯不能通過。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Java中Mono類的一些基本方法和示例代碼

    Java中Mono類的一些基本方法和示例代碼

    在Java編程中,我們經常會遇到需要創(chuàng)建單例(singleton)對象的情況,單例模式是一種常見的設計模式,它保證一個類只有一個實例,并提供一個全局訪問點,這篇文章主要給大家介紹了關于Java中Mono類的相關資料,需要的朋友可以參考下
    2024-07-07
  • java多線程中的volatile和synchronized用法分析

    java多線程中的volatile和synchronized用法分析

    這篇文章主要介紹了java多線程中的volatile和synchronized用法分析,以實例的形式分析了在多線程中volatile和synchronized的用法區(qū)別與使用原理,具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-12-12
  • Spring MVC異常處理機制示例詳解

    Spring MVC異常處理機制示例詳解

    這篇文章主要給大家介紹了關于Spring MVC異常處理機制的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Spring MVC具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-11-11
  • 使用MyBatisPlus自動生成代碼后tomcat運行報錯的問題及解決方法

    使用MyBatisPlus自動生成代碼后tomcat運行報錯的問題及解決方法

    這篇文章主要介紹了使用MyBatisPlus自動生成代碼后tomcat運行報錯的問題及解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • 使用java實現(xiàn)網絡爬蟲

    使用java實現(xiàn)網絡爬蟲

    這篇文章主要介紹了使用java實現(xiàn)網絡爬蟲,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • 深入理解注解與自定義注解的一些概念

    深入理解注解與自定義注解的一些概念

    今天給大家?guī)淼奈恼率亲⒔獾南嚓P知識,本文圍繞著注解與自定義注解的一些概念展開,文中詳細介紹了這些知識,需要的朋友可以參考下
    2021-06-06
  • Maven resrouce下filtering的使用方法

    Maven resrouce下filtering的使用方法

    本文介紹了Maven的resource插件中的filtering功能,該功能用于在構建過程中將資源目錄下的文件中的tokens進行參數(shù)替換,tokens的來源可以是pom文件中的properties屬性或外部的.properties文件,通過這種方式,可以靈活地切換不同開發(fā)環(huán)境下的配置屬性
    2024-11-11
  • Java實現(xiàn)拓撲排序的示例代碼

    Java實現(xiàn)拓撲排序的示例代碼

    這篇文章我們要講的是拓撲排序,這是一個針對有向無環(huán)圖的算法,主要是為了解決前驅后繼的關系,感興趣的小伙伴可以跟隨小編一起學習一下
    2022-05-05
  • SpringBoot MockMvc單元測試的示例代碼

    SpringBoot MockMvc單元測試的示例代碼

    這篇文章主要介紹了SpringBoot MockMvc單元測試的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • 淺析Spring IOC bean為什么默認是單例

    淺析Spring IOC bean為什么默認是單例

    單例的意思就是說在 Spring IoC 容器中只會存在一個 bean 的實例,無論一次調用還是多次調用,始終指向的都是同一個 bean 對象,本文小編將和大家一起分析Spring IOC bean為什么默認是單例,需要的朋友可以參考下
    2023-12-12

最新評論

唐海县| 白城市| 瓦房店市| 宁海县| 乌拉特中旗| 博野县| 皮山县| 利辛县| 惠州市| 雷波县| 化隆| 涿州市| 萍乡市| 彭泽县| 济阳县| 济南市| 柏乡县| 永州市| 竹溪县| 吉林市| 灵武市| 安达市| 平顶山市| 卢氏县| 吉安市| 万年县| 肥城市| 通化市| 友谊县| 西平县| 栾川县| 长治市| 菏泽市| 金塔县| 崇州市| 朝阳市| 台中市| 南川市| 达州市| 微博| 岑溪市|