和非靜態屬性/方法一樣,靜態屬性和方法也可以被子類繼承,靜態方法還可以被子類重寫:
class
parents
public
static
function
who(
)public
static
function
who1()
}class
children
extends
parents
}echo parents:
:getclassname()
.php_eol
;//parents
echo parents:
:who()
.php_eol
;//parents
echo parents:
:who1()
.php_eol
;//parents
echo children:
:getclassname()
.php_eol
;//children
echo children:
:who()
.php_eol
;//parents
echo children:
:who1()
.php_eol
;//children
$this 指標始終指向持有它的引用物件不同,self 指向的是定義時持有它的類而不是呼叫時的,為了解決這個問題,從 php 5.3 開始,新增了乙個叫做後期靜態繫結的特性
後期靜態繫結
後期靜態繫結(late static bindings)針對的是靜態方法的呼叫,使用該特性時不再通過 self:: 引用靜態方法,而是通過 static::,如果是在定義它的類中呼叫,則指向當前類,此時和 self 功能一樣,如果是在子類或者其他類中呼叫,則指向呼叫該方法所在的類
靜態 static 方法的繼承和重寫
靜態方法大家應該都比較熟悉,在這裡主要談一下靜態方法在繼承時的一些注意事項。1 父類方法如果是靜態方法,子類不能覆蓋為非靜態方法 2 父類方法如果是非靜態方法,子類不能覆蓋為靜態方法 3 父類靜態方法可以被覆蓋,允許在子類中定義同名的靜態方法,但是沒有多型。下面對第3條特性進行一下 演示 class...
靜態 static 方法的繼承和重寫
靜態方法大家應該都比較熟悉,在這裡主要談一下靜態方法在繼承時的一些注意事項。1 父類方法如果是靜態方法,子類不能覆蓋為非靜態方法 2 父類方法如果是非靜態方法,子類不能覆蓋為靜態方法 3 父類靜態方法可以被覆蓋,允許在子類中定義同名的靜態方法,但是沒有多型。下面對第3條特性進行一下 演示 class...
java 靜態 static 方法的繼承和重寫
靜態方法大家應該都比較熟悉,在這裡主要談一下靜態方法在繼承時的一些注意事項。1 父類方法如果是靜態方法,子類不能覆蓋為非靜態方法 2 父類方法如果是非靜態方法,子類不能覆蓋為靜態方法 3 父類靜態方法可以被覆蓋,允許在子類中定義同名的靜態方法,但是沒有多型。下面對第3條特性進行一下 演示 class...