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算法