Java中初始化塊詳解及實(shí)例代碼
Java中初始化塊詳解
在Java中,有兩種初始化塊:靜態(tài)初始化塊和非靜態(tài)初始化塊.
靜態(tài)初始化塊:使用static定義,當(dāng)類裝載到系統(tǒng)時(shí)執(zhí)行一次.若在靜態(tài)初始化塊中想初始化變量,那僅能初始化類變量,即static修飾的數(shù)據(jù)成員.
非靜態(tài)初始化塊:在每個(gè)對(duì)象生成時(shí)都會(huì)被執(zhí)行一次,可以初始化類的實(shí)例變量.
非靜態(tài)初始化塊會(huì)在構(gòu)造函數(shù)執(zhí)行時(shí),且在構(gòu)造函數(shù)主體代碼執(zhí)行之前被運(yùn)行.
括號(hào)里的是初始化塊,這里面的代碼在創(chuàng)建Java對(duì)象時(shí)執(zhí)行,而且在構(gòu)造器之前執(zhí)行!
其實(shí)初始化塊就是構(gòu)造器的補(bǔ)充,初始化塊是不能接收任何參數(shù)的,定義的一些所有對(duì)象共有的屬性、方法等內(nèi)容時(shí)就可以用初始化塊了初始化??!
好處是可以提高初始化塊的復(fù)用,提高整個(gè)應(yīng)用的可維護(hù)性。--《瘋狂java講義》
package com.tiandinet.studyjava;
public class TestInitiateBlock {
{
System.out.println("In non-static initialization block!");
};
static {
System.out.println("In static initialization block!");
};
public TestInitiateBlock() {
System.out.println("In Constructor1!");
}
public void show() {
System.out.println("In show()!");
}
/**
* @param args
*/
public static void main(String[] args) {
TestInitiateBlock ti = new TestInitiateBlock();
ti.show();
}
}
運(yùn)行結(jié)果:
In static initialization block! In non-static initialization block! In Constructor1! In show()!
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
基于SpringIOC創(chuàng)建對(duì)象的四種方式總結(jié)
這篇文章主要介紹了基于SpringIOC創(chuàng)建對(duì)象的四種方式總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
Java?代碼本地設(shè)置Hadoop用戶名密碼的方法
在Hadoop環(huán)境中,通常使用Kerberos進(jìn)行身份驗(yàn)證,這篇文章主要介紹了Java?代碼本地設(shè)置Hadoop用戶名密碼的方法,需要的朋友可以參考下2024-08-08
2023最新版IDEA創(chuàng)建javaweb項(xiàng)目的詳細(xì)圖文教程
之前用的社區(qū)版IDEA無(wú)法部署JavaWeb項(xiàng)目,于是裝了一個(gè)最新版的IDEA,下面這篇文章主要給大家介紹了關(guān)于2023最新版IDEA創(chuàng)建javaweb項(xiàng)目的詳細(xì)圖文教程,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06
Springboot整合MybatisPlus的實(shí)現(xiàn)過(guò)程解析
這篇文章主要介紹了Springboot整合MybatisPlus的實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
java_時(shí)間戳與Date_相互轉(zhuǎn)化的實(shí)現(xiàn)代碼
本篇文章是對(duì)java_時(shí)間戳與Date_相互轉(zhuǎn)化的實(shí)現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下如下。2016-11-11
SpringBoot訪問(wèn)接口自動(dòng)跳轉(zhuǎn)login頁(yè)面的問(wèn)題及解決
這篇文章主要介紹了SpringBoot訪問(wèn)接口自動(dòng)跳轉(zhuǎn)login頁(yè)面的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
Java 中橋接模式——對(duì)象結(jié)構(gòu)型模式的實(shí)例詳解
這篇文章主要介紹了Java 中橋接模式——對(duì)象結(jié)構(gòu)型模式的實(shí)例詳解的相關(guān)資料,希望通過(guò)本文大家能掌握這部分知識(shí),需要的朋友可以參考下2017-09-09
springboot 基于Tomcat容器的自啟動(dòng)流程分析
這篇文章主要介紹了springboot 基于Tomcat容器的自啟動(dòng)流程分析,Spring通過(guò)注解導(dǎo)入Bean大體可分為四種方式,我們主要來(lái)說(shuō)Import的兩種實(shí)現(xiàn)方法,需要的朋友可以參考下2020-02-02
idea與eclipse項(xiàng)目相互導(dǎo)入的過(guò)程(圖文教程)
這篇文章主要介紹了idea與eclipse項(xiàng)目相互導(dǎo)入的過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03

