Ⅰ java中為什麼要定義靜態代碼塊和構造函數呢
您好,提問者:
首先靜態代碼塊的作用是,只執行一次,不管是new還是直接類名。
構造函數用於傳遞或者初始化,如果想要這個類的方法或者變數,必須new初始化。
靜態代碼塊:
用於初始化一些操作,例如資料庫連接、配置文件讀取等。
構造函數:
用於new
xxx(值),如果一個類不想被new可以把構造方法寫為private類型。
Ⅱ java中的靜態代碼塊、代碼塊、構造器的執行順序是怎樣呢,這三者有什麼作用呢
先說執行順序:我們在new一個對象時,如果類還沒載入,就需要先將類載入到內存,此時就會執行靜態代碼塊,在創建對象時,是先執行代碼塊,然後執行構造器。所以靜態代碼塊、代碼塊、構造器的執行順序是:靜態代碼塊→代碼塊→構造器。
再說作用:靜態代碼塊是用於初始化類的(在載入類時執行,只執行一次),代碼塊是用於初始化對象的(在創建對象時執行,每次創建對象時都執行),構造器是用於創建對象的。