php中public放什么,PHP中常用关键字public, private, protected, static...
PHP中常用的关键字:public, private, protected, static, interface, implements, final
1.public、protected、private
对属性或方法的访问控制,是通过在前面添加关键字 public(公有),protected(受保护)或 private(私有)来实现的。
public 被定义为公有的类成员可以在任何地方被访问。
protected 被定义为受保护的类成员则可以被其自身以及其子类和父类访问。
private 被定义为私有的类成员则只能被其定义所在的类访问。
2.static
静态变量
①静态变量仅在局部作用域中存在,当程序执行离开此作用域时,静态变量的值不丢失;
②static的作用就是能够实现变量或者方法在类中不需实例化的情况下调用;
③静态变量必须在声明为静态变量时初始化,否则静态变量将失去意义。
④静态属性只能被初始化为文字或常量,不能使用表达式
由于静态方法不需要通过对象即可调用,所以伪变量 $this 在静态方法中不可用;
静态属性不可以由对象通过 -> 操作符来访问。
静态延迟绑定
静态延迟绑定跟静态变量以及类静态方法等没有任何联系,静态延迟绑定中的"延迟绑定"是指 static:: 不再被解析为当前方法所在的类,而会被解析成运行时所计算出来的类。
class A {
public static function who() {
echo __CLASS__;
}
public static function test() {
static::who(); // 后期静态绑定从这里开始
}
}
class B extends A {
public static function who() {
echo __CLASS__;
}
}
B::test(); //输出B
注意:(详情移步手册 后期静态绑定 )
①使用 self:: 或者 __CLASS__对当前类的静态引用,取决于定义当前方法所在的类;
②在非静态环境下,所调用的类即为该对象实例所属的类。由于 $this-> 会在同一作用范围内尝试调用私有方法,而 static:: 则可能给出不同结果。另一个区别是 static:: 只能用于静态属性;
③后期静态绑定的解析会一直到取得一个完全解析了的静态调用为止。另一方面,如果静态调用使用 parent:: 或者 self:: 将转发调用信息。
interface
①接口是通过 interface 关键字来定义的,就像定义一个标准的类一样,但其中定义所有的方法都是空的。
②接口中定义的所有方法都必须是公有,这是接口的特性。
implements
①要实现一个接口,使用 implements 操作符。
②类中必须实现接口中定义的所有方法,否则会报一个致命错误。
③类可以实现多个接口,用逗号来分隔多个接口的名称。
④实现多个接口时,多个接口的方法名不能重名
⑤接口也可以继承,通过extends操作符
⑥类要实现接口,必须使用和接口中所定义的方法完全一致的方式(包括方法名称、参数数量和类型等都必须一致)。否则会导致致命错误。
5.final
final只能够用来修饰class与function
class使用了final之后就不能够被继承,function使用了final之后不能在子类中被覆盖
php中public放什么,PHP中常用关键字public, private, protected, static...相关推荐
- PHP Class中public,private,protected,static的区别
PHP Class中public,private,protected,static的区别 public:权限是最大的,可以内部调用,实例调用,可以被继承. protected:受保护类型,用于本类和继 ...
- 将List中数据放入实体类中再放入List中(对List数据中进行分页处理)
[java] view plain copy List<TagInfo> tagInfoList=new ArrayList<TagInfo>(); for(int j=0 ...
- public,static,private,protected的用法
很多小伙伴不知道public,static,private,protected的用法,尤其是static和protected,虽然知道怎么用,但不知道是什么实际意义.小编这就为大家讲解! 在讲解之前, ...
- 葵花宝典——放入word中
葵花宝典 Java基础 1.面向对象的特征有哪些方面 1.抽象: 2.继承: 3.封装: 4.多态性: 2.String是基本的数据类型吗? 基本数据类型包括byte(8),short(16),int ...
- java中将类放入包中,Java 包
Java 允许使用包(package)将类组织起来.借助于包可以方便地组织自己的代码,并将自己的代码与别人提供的代码库分开管理.使用包的主要原因是确保类名的唯一性.标准的 Java 类库分布在多个包中 ...
- 计算机vf中rest是什么意思,vf常用命令(全)
<vf常用命令(全)>由会员分享,可在线阅读,更多相关<vf常用命令(全)(10页珍藏版)>请在人人文库网上搜索. 1.一.数据库的建立.打开.关闭和删除1二.数据表和视图的建 ...
- java jsp js xml_jsp实现将信息放入xml中的方法
本文实例讲述了jsp实现将信息放入xml中的方法.分享给大家供大家参考,具体如下: 一.jsp代码: 省: 北京 广东 海南 市: 北京 二.ajax代码创建服务器请求代码不用写了,写onchange ...
- java lambda函数_最常用的 Java 8 中的 Lambda 函数(项目中实用笔记)
最常用的 Java 8 中的 Lambda 函数(项目中实用笔记) 简介 Java 8 中的新特性,虽然现在都出到了Java14版本,不过在日常的开发过程中,8的版本是足够使用了,再说现在的8以上的版 ...
- 包+类导入+静态导入+类放入包中+包作用域
[0]README 0.1)本文转自 core java volume 1, 旨在理清 包和类导入的相关知识: [1] 包 1.1) java 允许使用包将类组织起来,包可以方便组织代码,并将自己的代 ...
最新文章
- 打开闪光灯java代码_android 拍照带水印(可打开闪光灯功能)
- 如何让机器获得幽默感——Goolge图学习技术揭秘
- Java Web学习路线
- 共享一款基于 jQuery 的多功能对话框插件 jBox,强不强大,用了才知道:)
- Webdriver常用的元素定位
- python 通过模板生成文章_自动生成文章_python自动生成文章 - 云+社区 - 腾讯云
- mysql 唯一索引为null_mysql 唯一索引与null.md
- [从头读历史] 第253节 孔子和他的《春秋》 [BC722至BC658]
- rsyslog 定义格式
- ICLR2020论文阅读笔记reformer: THE EFFICIENT TRANSFORMER
- Javafx+MySQL 学生成绩管理系统
- 思维误区:努力学习与有效学习!不要做无用功
- 机器学习笔记——模型选择与正则化
- 长沙高中计算机学校排名2015,长沙市所有高中学校排名,2021年长沙市重点高中分数线排名榜...
- 杰理之二代手表原理图【篇】
- post和put的请求的区别
- 安卓Android中腾讯音视频和直播 API的使用
- 【C++】进阶版--继承
- 2019年985院校计算机专业排名,2019年985大学名单排名,985大学详解(附全榜单)
- Flask04_模板语法