不同点有:1、静态方法在程序开始时生成内存,实例方法在程序运行中生成内存;2、静态方法可以直接调用,实例方法要先成生实例,通过实例调用方法;3、静态的内存是连续的,实例申请的是离散的空间,所以没有静态方法快,静态内存是有限制的。

静态方法只有一个,无论你调用多少次,都是共用的,是没有对象的概念,因此不能在静态方法里面使用$this调用,如果非得调用的话,只能实例化自身类

实例化不一样,每一个实例化是一个对象,拥有多个。

下面用一个实例来了解一下

<?php Error_reporting(E_ALL|E_STRICT); class A{ public function bar(){ echo 'bar'.PHP_EOL; } public static function foo(){ echo 'foo'.PHP_EOL; } } A::bar();//会报错 A::foo();//正确 $obj = new A(); $obj -> foo();//正确 /*   bar()是一个非静态方法,应该由对象来调用,但用静态来调用此方法也可以执行,而严格状态下,此方法会执行,同时报错,   Strict Standards: Non-static method Human::easyeat() should not be called statically in........   但是实例化的类是可以调用静态方法的。 */

做一个小总结:

最大的区别在于内存。

静态方法在程序开始时生成内存,实例方法在程序运行中生成内存,

所以静态方法可以直接调用,实例方法要先成生实例,通过实例调用方法,静态速度很快,但是多了会占内存。

任何语言都是对内存和磁盘的操作,至于是否面向对象,只是软件层的问题,底层都是一样的,只是实现方法不同。

静态内存是连续的,因为是在程序开始时就生成了,而实例申请的是离散的空间,所以当然没有静态方法快,

而且静态内存是有限制的,太多了程序会启动不了。

推荐教程:《php教程》

php 类 静态调用 实例化 效率,php类的静态调用和实例化调用有哪些不同点?相关推荐

  1. 【Groovy】Groovy 动态语言特性 ( Groovy 语言与 Java 语言执行效率对比 | 以动态特性编译的 Groovy 类 | 以静态特性编译的 Groovy 类 )

    文章目录 一.以动态特性编译的 Groovy 类 二.Groovy 语言与 Java 语言执行效率对比 三.以静态特性编译的 Groovy 类 一.以动态特性编译的 Groovy 类 Groovy 类 ...

  2. java构造方法和实例化,10. JavaSE-子类实例化过程 构造方法间调用

    子类的实例化过程: 子类中所有的构造函数默认都会访问父类中空参数的构造函数. class Parent { Parent(){ System.out.println("parent clas ...

  3. php函数、类和对象以及类的封装、继承、类的静态方法、静态属性

    php函数.类和对象以及类的封装.继承.类的静态方法.静态属性 原文:php函数.类和对象以及类的封装.继承.类的静态方法.静态属性 1.函数 php内置函数可以直接使用,如果没有安装php扩展即可 ...

  4. java 静态变量生命周期(类生命周期)

    java 静态变量生命周期(类生命周期) Static: 加载:java虚拟机在加载类的过程中为静态变量分配内存. 类变量:static变量在内存中只有一个,存放在方法区,属于类变量,被所有实例所共享 ...

  5. 类模板,多种类型的类模板,自定义类模板,类模板的默认类型,数组的模板实现,友元和类模板,友元函数,类模板与静态变量,类模板与普通类之间互相继承,类模板作为模板参数,类嵌套,类模板嵌套,类包装器

     1.第一个最简单的类模板案例 #include "mainwindow.h" #include <QApplication> #include <QPush ...

  6. python类和对象实例_python的类和实例化对象

    原博文 2018-12-07 16:50 − 一切皆对象,类也是对象,类来自于元类type,如果一个类没有声明自己的元类,默认它就是元类. 即类是元类的实例,通过type(类)会显示type,而实例来 ...

  7. spring@Autowired的对象为null,非容器中的类如何调用容器中的类

    1.问题描述 我们平时使用@Autowired注入对象时,一般被注入的类都带有@Coponent.@Controller.@Service .@repository等注解才可以.注入类和被注入类都被s ...

  8. JavaScript:利用StringBuffer类提升+=拼接字符串效率

    JavaScript:利用StringBuffer类提升+=拼接字符串效率 1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transiti ...

  9. C++ 类中特殊成员变量(常量、静态、引用)的初始化方法

    有些成员变量的数据类型比较特别,它们的初始化方式和普通数据类型的成员变量有所不同.这些特殊类型的数据类型包括: 引用(&) 常量(const) 静态(static) 静态常量(static c ...

最新文章

  1. 让人“眼前一亮、不明觉厉”的互联网技术PPT
  2. 数据挖掘系列(2)--关联规则FpGrowth算法
  3. linux安装报错之:ifconfig command not found解决
  4. 场景数据的动态更新setDataVariance(osg::Object::DYNAMIC) (转)
  5. 如何在 Apache 中为你的网站设置404页面
  6. Namomo Fish(Easy) Round 1
  7. ubuntu优化服务器网络连接数,ubuntu下解决高并发socket最大连接数限制,tcp默认1024个连接...
  8. eclipse MyEclipse中安装 spket插件 js文件内容字体变小解决方案
  9. 基于主动学习算法减少人工标注量,提升文本标注效率的方案探究
  10. UVA1586 ​​​​​​​ Molar mass
  11. spring boot报FileSizeLimitExceededException异常的解决方法
  12. 康德的道德观与哲学观
  13. 客户关系管理式的电子商务
  14. php 斗牛 牌型 和 比牌 规则
  15. linux 重启startup.sh,centos中startup.sh启动服务脚本
  16. Python人眼视线追踪系统
  17. 云计算机lol,云电脑玩英雄联盟卡不卡?
  18. pwnable.kr - passcode
  19. 关于已移除sd卡,手机不认卡的原因和解决办法(转)
  20. 能“读懂”古文还可反诈骗, 合合信息智能文字识别“黑科技”亮相2022WAIC

热门文章

  1. neuralcoref使用教程-指代消解
  2. Windows命令计算MD5与SHA1/256值
  3. 分布式服务化系统一致性的“最佳实干”--转
  4. window xp Apache与Tomcat集群配置--转载
  5. 关于Android消息机制你所需要知道的
  6. 【特征工程】(未完成)编码
  7. 【项目实战】基于python的 p2p 贷后指标全自动日报制作
  8. 重磅风控干货:如何用数据分析监测交易欺诈
  9. 必读 | 六月份不容错过的十大重磅好文,机器学习和数据科学的小伙伴拿走不谢 原创 2017-07-10 爱收藏的 AI科技大本营 作者 | Flavian Hautbois 翻译 | AI科技大
  10. 从自我学习到深层网络