java中的靜態(tài)代碼塊、構(gòu)造代碼塊、構(gòu)造方法詳解
運(yùn)行下面這段代碼,觀察其結(jié)果:
package com.test; public class HelloB extends HelloA { public HelloB() { } { System.out.println("I'm B class"); } static { System.out.println("static B"); } public static void main(String[] args) { new HelloB(); } } class HelloA { public HelloA() { } { System.out.println("I'm A class"); } static { System.out.println("static A"); } }
結(jié)果如下:
static A static B I'm A class I'm B class
解析:
1.靜態(tài)代碼塊:是在類的加載過程的第三步初始化的時(shí)候進(jìn)行的,主要目的是給類變量賦予初始值。
2.構(gòu)造代碼塊:是獨(dú)立的,必須依附載體才能運(yùn)行,Java會(huì)把構(gòu)造代碼塊放到每種構(gòu)造方法的前面,用于實(shí)例化一些共有的實(shí)例變量,減少代碼量。
3.構(gòu)造方法:用于實(shí)例化變量。
總結(jié):
1是類級(jí)別的,2、3是實(shí)例級(jí)別的,所以1要優(yōu)先2、3.
它們的執(zhí)行順序是1>2>3;
以上這篇java中的靜態(tài)代碼塊、構(gòu)造代碼塊、構(gòu)造方法詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java大數(shù)據(jù)開發(fā)Hadoop?MapReduce
MapReduce的思想核心是“分而治之”,適用于大量復(fù)雜的任務(wù)處理場(chǎng)景(大規(guī)模數(shù)據(jù)處理場(chǎng)景)Map負(fù)責(zé)“分”,即把復(fù)雜的任務(wù)分解為若干個(gè)“簡單的任務(wù)”來并行處理??梢赃M(jìn)行拆分的前提是這些小任務(wù)可以并行計(jì)算,彼此間幾乎沒有依賴關(guān)系2023-03-03關(guān)于java連接池/線程池/內(nèi)存池/進(jìn)程池等匯總分析
這篇文章主要介紹了關(guān)于java連接池/線程池/內(nèi)存池/進(jìn)程池等匯總分析,本文將介紹池技術(shù)的由來、原理、優(yōu)缺點(diǎn)以及常見的池技術(shù)類型,需要的朋友可以參考下2023-04-04java防盜鏈在報(bào)表中的應(yīng)用實(shí)例(推薦)
下面小編就為大家?guī)硪黄猨ava防盜鏈在報(bào)表中的應(yīng)用實(shí)例(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09java實(shí)現(xiàn)在性能測(cè)試中進(jìn)行業(yè)務(wù)驗(yàn)證實(shí)例
這篇文章主要為大家介紹了java實(shí)現(xiàn)在性能測(cè)試中進(jìn)行業(yè)務(wù)驗(yàn)證實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07使用mybatis-plus-generator進(jìn)行代碼自動(dòng)生成的方法
這篇文章主要介紹了使用mybatis-plus-generator進(jìn)行代碼自動(dòng)生成的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06Java中的Semaphore信號(hào)量簡單使用代碼實(shí)例
這篇文章主要介紹了Java中的Semaphore信號(hào)量簡單使用代碼實(shí)例,Semaphore是用來保護(hù)一個(gè)或者多個(gè)共享資源的訪問,Semaphore內(nèi)部維護(hù)了一個(gè)計(jì)數(shù)器,其值為可以訪問的共享資源的個(gè)數(shù),一個(gè)線程要訪問共享資源,需要的朋友可以參考下2023-12-12