PHP中 static 的用法

2021-07-10 07:05:16 字數 1415 閱讀 3930

1. 宣告靜態變數

靜態變數僅在區域性函式域中存在且只被初始化一次,當執行程式離開此作用域時,其值不會消失,會延用上次執行的結果。

function demo() 

2. 宣告靜態屬性

在類內部,將類的屬性(可見性:public、protected或private)宣告為靜態屬性,如果沒有顯式地指定靜態屬性的可見性,預設為public。

class test

靜態屬性是屬於類的,不用例項化物件,就可以被呼叫。(物件不可呼叫靜態屬性)

呼叫格式:

self::$

靜態屬性名(僅限於類內部)

類名 ::$

靜態屬性名(只有可見,才可以訪問到靜態屬性)

靜態屬性不能通過物件例項來呼叫,也不能通過 $this->靜態屬性名 來呼叫。

可見性為public或protected的靜態屬性,可以被子類繼承,並在子類中可見;可見性為private的靜態屬性,不可被子類繼承,且在子類中不可見。

注意:非靜態屬性只能通過 

$this->非靜態屬性名(僅限於類內部)或 物件例項->非靜態屬性名(可見性為public的)來呼叫。

3. 宣告靜態方法

在類內部,將類的方法(可見性:public、protected或private)宣告為靜態方法,如果沒有顯式地指定靜態方法的可見性,預設為public。

class test }

靜態方法是屬於類的,不用例項化物件,就可以被呼叫。(物件可以呼叫靜態方法)

呼叫格式:

self::

靜態方法(僅限於類內部)

類名 ::

靜態方法

(只有可見,才可以訪問到靜態方法)

物件例項->靜態方法(

只有可見,才可以訪問到靜態方法)

$this->靜態方法(

僅限於類內部)

可見性為public或protected的靜態方法,可以被子類繼承,並在子類中可見;可見性為private的靜態方法,不可被子類繼承,且在子類中不可見。

注意:靜態方法內部不可以使用 $this(當前物件)

ps:非靜態方法的呼叫格式

self::非靜

態方法(僅限於類內部)

類名

::非靜態方法(只有可見,才可以訪問到非靜態方法)

物件例項->非靜態方法(只有可見,才可以訪問到非靜態方法)

$this->非靜態方法(僅限於類內部)

可以看到,非靜態方法和靜態方法的呼叫格式基本相同,但非靜態屬性和靜態屬性的呼叫格式卻大不相同。

static 還有乙個非常重要的功能是後期靜態繫結,詳情請檢視 php 官方手冊。

php中static的用法

大家都知道,static是靜態變數或者靜態方法的修飾符,那麼就static的用法舉幾個簡單的例子加以說明 在普通函式中的用法 function test test 2 test 3 test 4 說明 普通函式中,static 區域性變數當函式被執行的時候,只初始化一次,然後儲存函式作用以後的值,下...

C C 中static的用法

c c 的static有兩種用法 面向過程程式設計中的static和物件導向程式設計中的static。前者應用於普通變數和函式,不涉及類 後者主要說明static在類中的作用。一 面向過程設計中的static 1 靜態全域性變數 在全域性變數前,加上關鍵字static,該變數就被定義成為乙個靜態全域...

JAVA中static的用法

1.類中的static變數在類載入時首先被初始化,且只能初始化一次.2.所有物件共享類中的static變數.3.在建立子類的物件時,先初始化父類的static變數,再初始化子類的static.例項如下 輸出結果為 i m in class a s static i m in class b s st...