PHP静态方法与非静态方法的区别
来源:互联网 发布:qq飞车数据异常 编辑:程序博客网 时间:2024/05/16 08:53
PHP静态方法与非静态方法的区别
php编程中,static关键字声明一个属性或方法是和一个类相关的,而不是和类的某个特定的实例相关的,因此这类属性或方法也称为“类属性”或“类方法”
- 如果访问控制权限允许,可不必创建该类对象而直接使用类名加两个冒号“::”调用。
- static关键字可以用来修饰变量、方法。
- 不经过实例化,就可以直接访问类中static的属性和static的方法。
- static 的属性和方法,只能访问static的属性和方法,不能类访问非静态的属性和方法。因为静态属性和方法被创建时,可能还没有任何这个类的实例可以被调用。
- static的属性,在内存中只有一份,为所有的实例共用。
- 使用self:: 关键字访问当前类的静态成员。
一、一个类的所有实例,共用类中的静态属性。
即在内存中即使有多个实例,静态的属性也只有一份。
二、静态属性直接调用
静态属性不需要实例化就可以直接使用,在类还没有创建时就可以直接使用。
使用方式:
类名:: 静态属性名
类没有创建,静态属性就可以直接使用。
静态属性和方法,在类被调用时创建。
三、静态方法
静态方法不需要所在类被实例化就可以直接使用。
使用的方式是类名::静态方法名
一个静态方法调用其它静态方法时,使用self:: ,使用self::调用本类的静态属性
注意
1. 静态方法不能调用非静态属性 。不能使用self::调用非静态属性。 2. 也不能使用 $this 获取非静态属性的值3. 在静态方法中不能使用 $this 标识调用非静态方法。4. 当一个类中有非静态方法被self:: 调用时,系统会自动将这个方法转换为静态方法。
阅读全文
1 0
- PHP静态方法与非静态方法的区别
- php静态方法与非静态方法用法区别详解
- PHP静态方法和非静态方法的区别
- 静态方法与非静态方法区别
- 静态同步方法与非静态同步方法的区别
- 覆盖静态方法与非静态方法的区别
- C#静态方法与非静态方法的区别
- java静态方法与非静态方法 覆盖的区别
- 静态方法与非静态方法的区别
- 静态方法与非静态方法的区别
- [Java] 静态方法与非静态方法的区别
- 静态方法与非静态方法的区别
- 覆盖静态方法与非静态方法的区别
- 静态方法与非静态方法的区别
- 静态方法与非静态方法的区别
- 静态方法与非静态方法的区别
- 静态方法与非静态方法的区别
- Java 中 静态方法与非静态方法的区别
- UVA 122
- 7GOJ 23 fleet [主席树]
- opencv访问图片中像素的方法(一)——指针访问
- Chapter04 编写基本的MapReduce程序(一) 专利数据集实战一
- 《零基础学Python》Adventures IN Python学习笔记二
- PHP静态方法与非静态方法的区别
- Java使用Redis实现分布式锁
- bootstrap中charts 图表放在tab-panel中不加载数据
- [hihoCoder]#1033 : 交错和
- python send mail
- 动态修改log4j的日志级别,不重启服务器
- 日期格式化
- Minicom 使用初步
- 线段树讲解