PHP中常用的關鍵字:final 、static、const。。。。
final :
1、final不能修飾成員屬性
2、final只能修飾類和方法
final作用:
1、使用final修飾的類不能被子類繼續
2、使用final修飾的方法不能被子類去覆蓋
3、用來限制類不被繼承,方法不被覆蓋就使用final
static:
1、使用static可以修飾成員的屬性和成員的方法,不能修飾類
2、使用static修飾的成員屬性,可以被同一個類的所有對象共享
3、靜態的數據是存在內存中的 數據段 中(初始化靜態段)
4、靜態的數據是在類么一次加載時,分配到內存中的,以后再用到類時就直接從數據段中獲取
5、什么是類被加載?只要在程序中使用到這個類(有這個類名出現)
6、靜態方法(static修飾的方法),不能訪問非靜態的成員(在非靜態的方法中,可以訪問靜態成員),因為非靜態的成員,就必須用對象來訪問,訪問內部的成員使用的就是$this,靜態方法 不用使用對象來調用,也就沒有對象,$this也就不能代表什么對象,非靜態的成員還必須使用對象,如果你確定一個方法不使用非靜態的成員,則可以將這個方法聲明為 靜態方法(不用創建對象,直接使用類名就可以訪問)
靜態成員:類名::成員 ,在內部訪問其它成員:self::成員
Ps:靜態的成員都要使用類名去訪問,不用創建對象 (類名::靜態成員),如果在類中使用靜態成員,可以使用self::靜態成員
const:
1、它只能修飾成員屬性
2、類名中聲明常量屬性使用const
3、類名的方式和我們以前學習的define是一樣的效果
4、訪問方式個static靜態成員屬性是一樣的(在類外部使用:類名::常量 ,在類內部使用: self::常量)
5、常量一定要在聲明時給初值
文章來源:
https://www.cnblogs.com/leo666/p/5699542.html
- 前言
- 函數參考
- Socket 函數
- socket_accept
- socket_bind
- socket_clear_error
- socket_close
- socket_connect
- socket_create_listen
- socket_create_pair
- socket_create
- socket_getpeername
- socket_getsockname
- socket_last_error
- socket_listen
- socket_read
- socket_recv
- socket_select
- socket_send
- socket_set_block
- socket_set_nonblock
- SplQueue
- 魔術方法
- 魔術常量
- 雜項
- backlog的用處
- new self()和new static()的區別
- PHP變量的生命周期
- PHP抽象類
- 對象接口
- PHP中的常用關鍵字
- 常量
- 內存泄露
- global 與 $GLOBAL
- 簡單說明CGI和動態請求是什么
- 設計模式
- 單例模式
- 工廠模式
- 適配器模式
- 策略模式
- 觀察者模式
- 控制反轉IoC簡介
- session
- use_trans_sid
- auto_start
- session_id
- cookie_secure
- 面試
- 數據庫相關
- 語句相關
- 索引相關
- 字段相關
- PHP相關
- 字符串相關
- 函數相關
- 運算符優先級相關
- 錯誤相關
- redis相關
- 10個常見的Redis面試"刁難"問題
- mysql
- MySQL中的鎖
- MySQL存儲引擎MyISAM 和 InnoDB的區別
- MySQL半同步復制
- explain 命令詳解
- 索引
- 數據庫事務
- MySQL和B樹的那些事
- git
- github----向開源框架提交pr的過程
- 推薦博客
- linux
- 命令
- free
- 高并發
- 搶購/秒殺功能
- 算法
- 一致性Hash算法