分類
1.普通**塊
2.構造塊
3.靜態塊
4.同步**塊
定義在方法中的**塊;
例:public class test
int x=100;
system.out.println(「x2=」+x);}}
輸出結果為:
x1=10;
x2=100;
定義在類中的**塊,也叫例項**塊。構造**塊一般用於初始化實際成員變數。
例:class person
//例項**塊
public void show()
}public class test
}執行結果為:
i am instance init()!
i am person init()!
name:小明age:16***man
注意事項:例項**塊優先於建構函式執行,並且產生n個物件就呼叫n次構造塊,一般也可用構造塊完成屬性的初始化操作。
使用static定義的**塊,一般用於初始化靜態成員屬性。
例:class person
//靜態**塊
static
public void show()
}public class test
}注意事項:
1.靜態**塊優先於構造**塊執行,在類載入時執行;主類中的靜態**塊優先於主方法執行。
2.靜態**塊不論生成多少個物件,其只會執行一次,且是最先執行。
tostring方法
定義:將任意類的物件轉化成字串,展示類中的屬性資訊;
任意乙個類中,若沒有提供tostring()方法,則print函式輸出其位址;若提供tostring()方法,則print函式輸出tostring的返回值;
重點:
若使用idea編譯器,快速生成tostring方法的快捷鍵是:alt+insert;
匿名物件
沒有被任何引用關聯的物件,只能使用一次。
例:class person
public void show()
}public class test
}
類與物件的補充知識點
一。pickle與物件的儲存 classcourse def init self,name,period,price self.name name self.period period self.price price python course python 6 moneth 21800 linu...
物件導向知識補充1
1 setattr 對屬性賦值或修改時候被呼叫 class foo def init self,name self.name name def setattr self,key,value print 觸發了 setattr a foo zjh a.t 2 print a.dict 輸出結果 觸發了...
Python 物件導向 補充類相關
建立類物件的類type 通過type函式建立類 def run self print self type dog print print dict d.print d d.run 檢測類物件中是否明確 metaclass 屬性 檢測父類中是否存在 metaclass 屬性 檢測模組中是否存在 met...