類方法和例項方法?

2021-09-27 10:20:27 字數 581 閱讀 7555

筆試中遇到都最最基礎的問題,我竟然有點懵了。首先沒弄清楚什麼是類方法,什麼是例項方法,現在就做乙個總結。

類中的方法分為類方法例項方法

類方法:類中用 static 修飾的方法。

例項方法:也稱為物件方法,除了類方法都是例項方法。

類方法在類被 jvm 虛擬機器載入進記憶體的時候就會為其分配入口位址,例項方法不會分配入口位址,只有當物件被建立後才為其分配入口位址,所以類方法中不能呼叫關於例項方法的任何東西。通過該原理就會推出以下限制。

類方法:

類方法中不能引用物件變數

類方法中不能呼叫物件的方法

類方法不能被覆蓋

與類方法相比,物件方法幾乎沒有限制

小結:很多事情其實是很簡單的,之所以覺得複雜,是因為只知其表。當追根溯源之後幾乎所有的事情都變得很簡單,就比如看似如此複雜的電腦,最最底層也就只是 0 和 1 兩種最簡單的狀態。所以學知識要抱有一顆追根溯源的心,通過刨析底層原理,發現問題的本質。

例項變數和類變數 類方法和例項方法

類體中包括成員變數和區域性變數,而成員變數又可以細分為例項變數和類變數,在宣告成員變數的時候,用static給予修飾的稱作類變數,否則稱作例項變數。類變數也稱為static變數,靜態變數 那麼,類變數和例項變數有什麼區別呢?我們知道,乙個類通過使用new運算子可以建立多個不同的物件,這些物件將被分配...

例項方法,類方法和物件方法

class a num 10 def hehe self print 我是例項方法 也叫物件方法 classmethod def haha cls print 我是類方法,我的第乙個引數代表的是類,例如本例是a cls.num staticmethod def heihei print 我是靜態方法...

06 例項方法和類方法

1.例項方法 instance method 和類方法 class method 只能通過物件例項呼叫的方法叫例項方法,例項方法都是以 開頭的方法。只能通過類呼叫的方法叫類方法,類方法都是以 開頭的方法。類方法是屬於整個類的,和具體的物件無關,所以,在類方法中無法訪問和具體物件有關的所有資料,比如屬...