李清波 2021-10-11 PHP学习 3158 复制当前网址
php静态方法与非静态方法用法区别
##### 静态方法和非静态方法的区别总结如下:
静态方法属于类所有,类实例化前即可使用。也就是不需要new一个对象就可以使用该对象的方法。比如object::fun1()这样的格式;
非静态方法可以访问类中的任何成员,静态方法只能访问类中的静态成员;
因为静态方法在类实例化前就可以使用,而类中的非静态变量必须在实例化之后才能分配内存;
static内部只能出现static变量和其他static方法(即静态方法不能调用非静态属性 。也不能使用self::调用非静态属性)!而且static方法中还不能使用this等关键字,因为它是属于整个类。静态方法内部调用其他静态方法,可以使用self::方法名称的形式来实现;
静态方法效率上要比实例化高,静态方法的缺点是不自动进行销毁,而实例化的则可以做销毁;
静态方法和静态变量创建后始终使用同一块内存,而使用实例的方式会创建多个内存。
### 主要区别:
静态方法在创建对象前就可以使用了,非静态方法必须通过new出来的对象调用。
静态方法与实例方法在性能和占用内存上没有明显的区别,是否声明为静态方法需要从类型的非静态字段、事件、面向对象扩展和多态这三方面来考虑。
### 总结:静态的是不论实例化多少次结果最终只有一个,而动态的每次结果都不一样。
文章来源:https://liqingbo.com/blog-1782.html
上一篇:PHP题库批量入库处理代码
下一篇:php获取当月第一天和最后一天
相关文章
-
通过PHP与Python代码对比浅析语法差异
-
让PHP程序永远在后台运行
-
致命错误: Class 'Redis' not found
-
消息队列的实用场景和逻辑
-
我正在拼团,邀请你一起 86元/年 购买云服务器~~
-
我不喜欢编程,但是我喜欢解决问题
-
快速了解什么是JSON Web Token(JWT)
-
微信公众号接口全局返回码说明
-
学习PHP的第一步
-
字节与字符的区别
-
如何学习YYUC框架
-
如何从入门开始学习PHP
-
大陆、港澳台身份证、护照、军官证的正则表达式
-
初始化我的PHP开发环境
-
全方面了解和学习PHP框架
-
中高级PHP程序员应该掌握哪些技术?
-
windows server 2012 r2 添加任务计划
-
Warning: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php....
-
trim() expects parameter 1 to be string, int given
-
Thinkphp使用having查询重复的数据
评论
最近发布
- 75Fitten Code 是一种用于编程练习和代码训练的平台
- 1329在路上,剩下的交给运气
- 1814PHP strtotime的BUG处理
- 1256php strtotime常见用法
- 1677复盘总结报告如何写?
- 1721File './mysql-bin.index' not found (Errcode: 13 - Permission denied)
- 4268我的第一篇博文
- 39432小卡的悲惨故事
- 49732从今天起,做一个幸福的人。
- 40371前往大学的第一天
- 65641内心的“空洞”
- 52346我是一个专注的人
- 3210PHP生成微信小程序二维码
- 1715开发人员绩效考核方法有哪些?
- 1808大陆、港澳台身份证、护照、军官证的正则表达式
- 1479Linux系统在Terminal下如何链接另一个Linux系统
- 1953github访问速度慢的解决方案
- 2396putty免密码登录流程
- 1365linux 查看磁盘使用情况
- 335414个适合后台管理系统快速开发的前端框架
- 3435请求维修 C449
- 2539微信JSSDK使用
- 2359今今乐道
- 2309Linux学习文档
- 3291php中根据指定日期获取所在天,周,月,年的开始日期与结束日期
- 3257php设置会话session登录过期时间
- 2902Access denied; you need (at least one of) the PROCESS privilege(s)
- 3225lcobucci/jwt的安装和使用
- 1443linux下挂载硬盘+安装宝塔
- 2556如何查看mysql进程