例項方法和類方法的區別

2021-07-01 22:01:37 字數 580 閱讀 3898

類中的方法可以分為:

1.類方法:加關鍵字static修飾的是類方法,也稱為靜態方法;

當類的位元組碼檔案被載入到記憶體時,類的例項方法不會被分配入口位址,只有該類建立物件後,類中的例項方法才分配入口位址,從而例項方法可以被建立的任何物件呼叫執行。需要注意的是,當我們建立第乙個物件時,類中的例項方法就分配了入口位址,當再創件物件時,不在分配入口位址,也就是說,方法的入口位址被所有的物件共享,當搜有的物件都不存在時,方法的入口位址才會被取消。

例項方法中不僅可以操作例項變數,也可以操作類變數,

類方法不可以操作例項變數(因為再類建立物件之前,例項成員變數還沒有分配記憶體)。

對於類中的類方法,在該類被載入到記憶體時,就分配了相應的入口位址,從而類方法不僅可以被類的任何物件呼叫,也可以通過類名直接呼叫,類方法中的入口位址直到

程式退出時才被取消。

對於static方法,不必建立物件就可以用類名直接呼叫它,(建立物件會導致類中的例項變數被分配記憶體空間)

例項方法必須通過類的物件來呼叫

類方法和例項方法區別

1.類方法和例項方法 類方法 不需要宣告乙個物件 例項 就可以直接引用。通常是有返回值的 否則類方法就無意義了,因為沒有物件或者相應的成員變數的值可以設定 類方法的特點 1.宣告和實現的時候,以 開頭 2.類方法屬於類的本身,只能通過類名呼叫 3.類方法不能直接訪問成員變數 4.類方法不能直接呼叫物...

python 例項方法 靜態方法和類方法區別

一 python 類語法中有三種方法,例項方法,靜態方法,類方法 python中self,cls的區別 普通例項方法,第乙個引數需要是self,它表示乙個具體的例項本身。如果用了staticmethod,那麼就可以無視這個self,而將這個方法當成乙個普通的函式使用。而對於classmethod,它...

類方法靜態方法例項方法的區別

1.例項方法 建立乙個例項後,通過例項名.方法名對例項方法進行呼叫,也可以通過例項直接對靜態方法和類方法進行呼叫。2.靜態方法 staticmethod為字首建立,相當於乙個寫在類中的普通方法,靜態方法內部不能建立例項,也不能訪問所在類中例項的屬性,只能訪問類的屬性。3.類方法 classmetho...