靜態方法呼叫非靜態方法

2021-08-14 03:11:02 字數 483 閱讀 3794

靜態方法不能(直接)呼叫非靜態變數,非靜態方法可以引用靜態變數。

靜態方法不屬於物件,是屬於類的,不需要例項化;

而非靜態變數是屬於物件的,需要先例項化。

在乙個類的靜態成員中去訪問其非靜態成員,因為類的靜態成員先於類的非靜態成員存在,訪問乙個記憶體中不存在的東西會出錯。

相反,非靜態方法可以引用靜態變數。

因為靜態變數是儲存在靜態記憶體單元內,可以直接用類進行呼叫,也可以用例項化的物件對其引用。

static方法中不能呼叫non-static方法,準確地說是不能直接呼叫non-static方法。

其實可以間接地通過將乙個物件的引用傳入static方法中,再去呼叫該物件的non-static方法。

例如:在主函式(static方法)中建立某個類的例項,再利用其引用變數呼叫它的非靜態方法。

但通常要達到這樣的效果,只需寫乙個非靜態方法即可。

靜態和非靜態方法 呼叫靜態和非靜態方法 原創

在學習php物件導向的時候,遇到了一些問題 class test1 在test1類中,定義了乙個test方法。一般呢,想要呼叫test方法的話,是通過例項化乙個物件來呼叫test方法的。比如 aaa.php php 正常的方式訪問普通方法test class test1 new new test1 ...

靜態和非靜態方法 呼叫靜態和非靜態方法 原創

在學習php物件導向的時候,遇到了一些問題 class test1 在test1類中,定義了乙個test方法。一般呢,想要呼叫test方法的話,是通過例項化乙個物件來呼叫test方法的。比如 aaa.php php 正常的方式訪問普通方法test class test1 new new test1 ...

C 靜態方法 非靜態方法呼叫總結

總結的c 靜態方法 非靜態方法的呼叫,有不正確的請指正 操作靜態方法 非靜態方法 同個類中呼叫 方法名 前面不用加類名或物件名 例項化類後呼叫 即new一次 不同類中呼叫 類名.方法名 例項化類後呼叫 即new一次 新建乙個測試用的類,演示靜態方法和非靜態方法在同個類中的呼叫 class testc...