實例塊與靜態塊
實例塊:
實例塊,可以寫任意個,new對象時,實例塊要比構造器先執行,不new對象實例塊不會執行。實例塊的寫法就是在類的括內寫一對{ },裏面除了方法以外,可以寫任意代碼,由於不像構造器能傳遞參數,所以基本日常開發中不會用到實例塊。例如:
因為實例塊要比構造器先執行所以先輸出“實例塊”。
靜態塊:
靜態塊,可以寫任意個,類被加載的時候就被執行,但是只會被加載一次,不會加載第二次。一個類只要寫了靜態塊,而且有main方法靜態塊裏面有代碼的話裏面的代碼都會進行加載。例如:
因為靜態塊是在類加載的時候就被加載,所以靜態塊裏面的代碼也會進行執行。
類什麽時候會被加載:
一個類在被new對象、被訪問調用方法、被訪問靜態成員均會促使這個類進行加載。還有就是用Class.forName();來加載類,這個方法是專門用來加載類的。例如:
如果訪問類的常量是不會促使類進行加載的,因為常量層和類的內存不在一塊,所以類不會被加載。例如:
靜態塊沒被加載只調用了常量的值
本文出自 “12831981” 博客,請務必保留此出處http://12841981.blog.51cto.com/12831981/1974039
實例塊與靜態塊
相關推薦
實例塊與靜態塊
實例塊 靜態塊 實例塊:實例塊,可以寫任意個,new對象時,實例塊要比構造器先執行,不new對象實例塊不會執行。實例塊的寫法就是在類的括內寫一對{ },裏面除了方法以外,可以寫任意代碼,由於不像構造器能傳遞參數,所以基本日常開發中不會用到實例塊。例如:因為實例塊要比構造器先執行所以先輸出“實例塊”。靜
代碼塊與靜態代碼塊與靜態方法的加載順序
setname getname tag urn pri 靜態方法 sta 進入 load public abstract class ClassLoadingTest { public static void main(String[] args) {
CSS實例:圖片導航塊
static -1 ctype char ext .com style 學生 stat 認識CSS的 盒子模型。 CSS選擇器的靈活使用。 實例: 圖片文字用div等元素布局形成HTML文件。 新建相應CSS文件,並link到html文件中。 CSS文件中定義樣式 di
CSS實例:圖片導航塊(2017.10.20)
esc log 樣式 pan mage www. href enter wid 認識CSS的 盒子模型。 CSS選擇器的靈活使用。 實例: 圖片文字用div等元素布局形成HTML文件。 新建相應CSS文件,並link到html文件中。 CSS文件中定義樣式 div.img:
python:實例化configparser模塊讀寫配置文件
txt 號碼 DBName edr tty 示例代碼 免費註冊 word mat 之前的博客介紹過利用python的configparser模塊讀寫配置文件的基礎用法,這篇博客,介紹下如何實例化,方便作為公共類調用。 實例化的好處有很多,既方便調用,又降低了腳本的維護成本,
靜態程式碼塊與靜態變數的執行順序
在工具類中,通常會初始化一些單例變數,這些變數由於只會初始一次,並不適合放在建構函式中,因此通常選擇在靜態程式碼塊中執行,那麼在一個類中,就會涉及到靜態變數和靜態程式碼塊的初始化執行順序問題。 public class Test { priv
Android實例-ImageList與Image的應用
rto var bit .text ssi 電影 begin 日本 sign procedure TForm1.Button1Click(Sender: TObject);var oSizeF: TSizeF;beginoSizeF.cx:=10;//發現這個值小了會增加
單例模式與靜態成員
很好 nullptr () 單例 配置 ora pri 文件 初始 高博的《視覺SLAM十四講》中,project裏的Config類,很好的示範了單例模式的實現與static靜態成員的使用 每天早上起床拜一拜高博~ Config類是為了設置配置文件,並且從配置文件中讀取預設
九、結構和類(結構的概念,類的概念,聲明,構造函數,對象的實例化,類和對象的關系,實例的和靜態的)
color strong pac 定義類 副本 c# 類的定義 們的 調用 結構 在 C# 中,結構是值類型數據結構。它使得一個單一變量可以存儲各種數據類型的相關數據。struct 關鍵字用於創建結構。 結構不支持繼承。結構不能聲明默認的構造函數。 為了定義一個結構,必須使
MySQL(mariadb)多實例應用與多實例主從復制
mysql mariadb 主從復制 多實例 mysql主從復制 MySQL多實例 mysql多實例,簡單理解就是在一臺服務器上,mysql服務開啟多個不同的端口(如3306、3307,3308),運行多個服務進程。這些 mysql 服務進程通過不同的 socket來監聽不同的數據端口,進
ZABBIX最全MYSQL自定義監控多實例mysql與主從復制狀態沒有之一
等待 獲取 oca 含義 cli ges type con sha 我們首先要提取你服務器上有多少mysql實例提取方法如下: #!/usr/bin/env pythonimport osimport jsont=os.popen("""su
java之普通程式碼塊、構造塊、靜態塊
程式碼塊 定義:{}中定義的一段程式碼 根據程式碼塊出現的位置以及關鍵字不同,分為下面四類程式碼塊 普通程式碼塊 定義在方法中的程式碼塊,解決方法中變數重新命名的問題,瞭解即可,沒什麼意義。 public class 程式碼塊 { public static void ma
塊,靜態塊程式碼執行順序
public class Main { public static void main(String[] args) { System.out.println("main start---------"); new B(); new A();
構造塊、靜態塊
構造塊: { //語句 } 靜態塊: static{ //語句 } 靜態塊在類載入的時候執行,且只執行一遍。靜態變數也在類載入的時候初始化: public class Test{ static int a=1; static{ System.out.print(
python面向對象中類對象、實例對象、類變量、實例變量、類方法、實例方法、靜態方法
兩種 對象 都是 self 這一 人類 name method class關鍵字 1. 類對象和實例對象 Python中一切皆對象,Python類本身也是一種對象,類定義完成後,會在當前作用域中定義一個以類名為名字的命名空間。類對象具有以下兩種操作: 可以通過“類
Java中構造方法,程式碼塊,靜態塊的執行順序
class A{ public A(){ System.out.println("class A");//父類構造方法 } { System.out.println("I am A class ");//父類構造塊
類方法、實例方法和靜態方法
odi message 實例方法 屬性 init 靜態 靜態方法 類屬性 註意 類方法、實例方法和靜態方法,實質是內存空間不一樣,三種方法的創建和調用需要註意,同樣的,類屬性和實例屬性,類對象和實例對象都需要理解,公有屬性可以設置為類屬性,特有屬性可以設置為實例屬性,類方法
Android 工具類的兩種寫法---單例模式與靜態方法
第一種:單例模式 方法非靜態 public class LogUtil { private static volatile LogUtil instance; private Lo
java中的初始化塊和靜態塊
java語言中的初始化塊 1、什麼是初始化塊? 在一個類中,用來對例項變數作初始化的語句塊。2、初始化塊在何時被執行? 它在每一次構造物件時被執行且比構造器先執行。3、對例項變數做初始化有三種方式? 1) 通過構造器實現初始化。 2) 在定義例項變數時就給它一個值。 3)
JAVA的例項塊和靜態塊
例項塊例項塊就是一個劃分的程式碼區域。{ 程式碼 }1.它是在構造器之前執行。2.它和屬性初始化一同執行。3.一個類中可以有很多個例項塊。4. 多個例項塊執行順序是按照順序從上到下執行。public class Test3 { { System