1. 程式人生 > >類中靜態方法和靜態變數,靜態程式碼塊,構造方法,以及被@PostConstruct修飾的方法執行順序

類中靜態方法和靜態變數,靜態程式碼塊,構造方法,以及被@PostConstruct修飾的方法執行順序

第一種:當直接呼叫(沒有new物件)靜態方法時候:程式碼塊(靜態變數按照順序)就執行—–方法執行。

第二種建立物件:執行父類靜態程式碼—-執行子類的靜態程式碼—-執行父類構造方法—–執行子類的構造方法(注:@PostConstruct修飾的方法是在構造方法之後執行的)

注:靜態變數和靜態程式碼塊都是按照程式碼書寫順序執行的,對於靜態程式碼塊只要是操作(呼叫靜態方法或者新建一個類等)這個類就會執行(包括靜態變數)

相關推薦

靜態方法靜態變數靜態程式碼構造方法以及@PostConstruct修飾方法執行順序

第一種:當直接呼叫(沒有new物件)靜態方法時候:程式碼塊(靜態變數按照順序)就執行—–方法執行。 第二種建立物件:執行父類靜態程式碼—-執行子類的靜態程式碼—-執行父類構造方法—–執行子類的構造

深入理解Java的同步靜態方法synchronized(class)程式碼鎖 深入理解Java併發synchronized同步化的程式碼不是this物件時的操作

一.回顧學習內容  在前面幾篇部落格中我我們已經理解了synchronized物件鎖、物件鎖的重入、synchronized方法塊、synchronized非本物件的程式碼塊,  連結:https://www.cnblogs.com/SAM-CJM/category/1314992.h

深入理解Java的同步靜態方法synchronized(class)程式碼

一.回顧學習內容  在前面幾篇部落格中我我們已經理解了synchronized物件鎖、物件鎖的重入、synchronized方法塊、synchronized非本物件的程式碼塊,  我們來總結一下,上面幾篇講到內容:  1.建立執行緒類的兩個方式:繼承Thread類和實現Runable介面。  2.瞭解了Th

java靜態變數靜態程式碼靜態方法例項變數匿名程式碼的載入順序

1. java中靜態變數,靜態程式碼塊,靜態方法,例項變數,匿名程式碼塊 在Java中,使用{}括起來的程式碼稱為程式碼塊,程式碼塊可以分為以下四種: (1)普通程式碼塊:就是類中方法的方法體 public void xxx(){ //code }

【小家java】靜態程式碼構造程式碼靜態變數執行順序繼承邏輯

相關閱讀 每篇一句 上帝給每個人都安排了幸福的一生,我們的任務就是把它走完 1、概述 誠如各位所知,java的三大特性:封裝、繼承、多型。其中繼承,是java中最有學問的一點也是最相對來說最難理解的一些東西,本文針對於此,做一些例項分析,希望能夠幫助大家

C++學習總結(十一)——靜態函式成員函式的預設引數包含引用常量

一.類的靜態成員變數,以及靜態函式。 靜態成員變數: 1.靜態成員共享機制 2.靜態成員區域性屬於類,它不是物件的成員,位於靜態區。 3.靜態成員變數需要在外部進行初始化。 靜態函式: 1.靜態成員函式都在程式碼區,類的靜態函式都是共享的。 2.類的大小不包含程式碼區,建立

靜態程式碼構造器、靜態方法呼叫的先後順序關係

package test; /* * 當一個類中,有靜態方法、靜態程式碼塊、構造方法時; * 如果 初始化該類,new一個物件,則會 * 1,先呼叫靜態程式碼塊; * 2. 再呼叫構造器,初始化該物件; * 3.靜態方法需要被主動顯式呼叫; * 可通過以下簡單

const、extern、explicit關鍵字 靜態變數(static宣告、未命名的名稱空間、使用列舉宣告的變數) this指標

1、const關鍵字      (1)可以用const來確保方法不修改引數: Star::Star(const char * s){...}   //won't change the string to which s points  

Java靜態程式碼構造方法程式碼、父與子之間執行順序

【1】幾個概念 靜態程式碼塊 在java中使用static關鍵字宣告的程式碼塊。每個靜態程式碼塊只會執行一次。JVM在載入類時會執行靜態程式碼塊,靜態程式碼塊先於主方法執行。 注意: 靜態程式碼塊不能存在於任何方法體內; 靜態程式碼塊不能直接訪問靜態例項變數和例

java載入例項化:靜態程式碼、初始化程式碼構造方法執行順序

java中第一次例項化一個物件時,靜態程式碼塊、初始化塊、屬性的初始化、構造方法,再加上如果父類也有這些東西,天,到底執行順序是什麼? 來一段程式碼試一試就知道了: public class LoadingTest { public static void main(

Java成員變數、普通成員變數、初始化構造方法的初始化執行順序

 序言   關於類的static成員變數初始化、static初始化塊、例項的普通成員變數初始化、例項的普通初始化塊以及建構函式的執行順序,我一直不是十分明確地知道,今天專門花了幾個小時的時間參考網上資料設計出了比較明瞭的測試程式碼,有程式碼有結果有真相。總體而言,sta

java靜態變數靜態程式碼普通程式碼建構函式載入順序

前言: java成員變數和構造方法等載入順序是一個很基礎又很容易搞混的東西,今天寫下來算是更明確一些 正文: 廢話不多說上程式碼   public class Father { public Father(){ System.out.print

java靜態程式碼構造程式碼構造方法、main函式的執行順序

靜態程式碼塊:在類被載入的時候就運行了,且只執行一次。static{} 構造程式碼塊:在建立物件時被呼叫,每次建立物件都會呼叫一次。比靜態程式碼塊少了static。{} 構造方法:用於建立物件時定義初始化的狀態。建構函式不能直接呼叫,必須通過new運算子在建立物件時才會自動呼叫,一般方法是在程式

SwingUtilities的invokeLater()invokeAndWait()方法理解

      在理解SwingUtilities類中的.invokeLater()和invokeAndWait()兩種方法之前,需要先了解清楚Swing執行緒機制。Swing程式通常包括三種類型的執行緒:①初始化執行緒(Initial Thread);②任務執行緒(Work T

Java: synchronized詳解靜態同步方法普通同步方法同步程式碼

對程式碼進行同步控制我們可以選擇同步方法,也可以選擇同步塊,這兩種方式各有優缺點,至於具體選擇什麼方式,就見仁見智了,同步塊不僅可以更加精確的控制物件鎖,也就是控制鎖的作用域,何謂鎖的作用域?鎖的作用域就是從鎖被獲取到其被釋放的時間。而且可以選擇要獲取哪個物

反射】的呼叫(呼叫的成員:成員變數方法構造方法

★ 構造類物件 使用構造器新建物件。根據指定的引數型別找到相應的建構函式,傳入相應引數呼叫執行,以建立一個新的物件例項。 程式碼演示: package cn.hncu.reflect.t

java 基礎之成員變數成員方法區域性變數例項方法

以下都是總結的簡單說法,定義上可能沒那麼嚴謹。 成員變數:類裡定義的變數。 區域性變數:方法裡定義的變數。 其中成員變數又分為:例項變數和類變數(靜態變數) 類變數:static修飾的變數 注:如果區域性變數和成員變數的名稱相同,那麼成員變數被隱藏,即方法內失效,方法中如需

Python的屬性方法總結

類中的屬性分為: 例項屬性 類屬性 類中的方法分為: 例項方法 類方法 靜態方法 類中的屬性 例項屬性: 定義:在類的方法中定義的變數 使用:建立例項物件的時候被建立,能被例項呼叫,無法被類呼叫,可以

object的equalshashcode方法

equals():反映的是物件或變數具體的值,即兩個物件裡面包含的值--可能是物件的引用,也可能是值型別的值。 hashCode():計算出物件例項的雜湊碼,並返回雜湊碼,又稱為雜湊函式。根類Object的hashCode()方法的計算依賴於物件例項的D(記憶體地址),

JAVA程式碼靜態程式碼構造方法、main方法執行順序

java中靜態程式碼塊,普通程式碼塊,構造程式碼塊區別及程式碼示例 執行順序:(優先順序從高到低)靜態程式碼塊>mian方法>構造程式碼塊>構造方法。其中靜態程式碼塊只執行一次。構造程式碼塊在每次建立物件是都會執行。 1 普通程式碼塊 普通程式碼塊:在方