PHP靜態方法的幾個注意事項

2021-09-30 07:17:55 字數 494 閱讀 6514

1.即使類中的方法並未用static宣告,但其未使用到可改變的類成員變數,在外部仍可用操作符::來呼叫;

2.以靜態方式(用::操作符)呼叫的方法中$this的取值是由呼叫時的上下文決定的!而不是定義他的類!!

例如以下的**:

這段**是輸出會是什麼呢,我原以為會是normal_v from testclass1

static_v from testclass1,測試發現其實我錯了,正確的輸出是:

normal_v from testclass2

static_v from testclass1

說明:test_func1()雖然是在testclass1中定義的,但卻是在testclass2中呼叫的,其內部的$this變數則是由testclass2決定的!

其實這兩個類的關係應該屬於"雙向關聯".

PHP使用靜態方法的幾個注意事項

1.即使類中的方法並未用static宣告,但其未使用到可改變的類成員變數,在外部仍可用操作符 來呼叫 2.以靜態方式 用 操作符 呼叫的方法中 this的取值是由呼叫時的上下文決定的 而不是定義他的類 例如以下的 class testclass2 t2 new testclass2 t2 tesww...

Java靜態方法的注意事項

靜態的使用注意事項 1.靜態方法只能訪問靜態成員 包括成員變數和成員方法 非靜態方法可以訪問靜態也可以訪問非靜態 2.靜態方法中不可以定義this,super關鍵字 因為 乙個類中,乙個static變數只會有乙個記憶體空間,雖然有多個類例項,但這些類例項中的這個static變數會共享同乙個記憶體空間...

PHP 注意事項

1.arr array a b true in array c arr 返回true,儘管陣列裡並沒有 c 這一項。因為,c true。要想讓其返回正確的結果,應使用 in array c arr,true 2.bool 0 返回false bool 返回true 3.var 1 a var未必是陣...