静态属性、方法(包括静态与非静态)在内存中,只有一个位置(而非静态属性,有多少实例化对象,就有多少个属性)。

(推荐教程:php图文教程)

实例:

header("content-type:text/html;charset=utf-8"); class Human{ static public $name = "小妹"; public $height = 180; static public function tell(){ echo self::$name;//静态方法调用静态属性,使用self关键词 //echo $this->height;//错。静态方法不能调用非静态属性 //因为 $this代表实例化对象,而这里是类,不知道 $this 代表哪个对象 } public function say(){ echo self::$name . "我说话了"; //普通方法调用静态属性,同样使用self关键词 echo $this->height; } } $p1 = new Human(); $p1->say(); $p1->tell();//对象可以访问静态方法 echo $p1::$name;//对象访问静态属性。不能这么访问$p1->name //因为静态属性的内存位置不在对象里 Human::say();//错。say()方法有$this时出错;没有$this时能出结果 //但php5.4以上会提示 ?>

(视频教程推荐:php视频教程)

总结:

(1)静态属性不需要实例化即可调用。因为静态属性存放的位置是在类里,调用方法为"类名::属性名";

(2)静态方法不需要实例化即可调用。同上

(3)静态方法不能调用非静态属性。因为非静态属性需要实例化后,存放在对象里;

(4)静态方法可以调用非静态方法,使用 self 关键词。php里,一个方法被self:: 后,它就自动转变为静态方法;

PHP中普通方法如何调用静态属性,php中的静态属性和静态方法如何调用相关推荐

  1. python中的方法和函数的区别_Python中函数和方法的区别

    在Python中函数和方法是有区别的. 区别一所处的位置:函数是直接写文件中而不是class中,方法是只能写在class中. 区别二定义的方式: 1.函数定义的方式 def关键字  然后接函数名 再是 ...

  2. 【Groovy】闭包 Closure ( 闭包中调用 Groovy 脚本中的方法 | owner 与 delegate 区别 | 闭包中调用对象中的方法 )

    文章目录 一.闭包中调用 Groovy 脚本中的方法 二.owner 与 delegate 区别 三.闭包中调用 Groovy 对象中的方法 一.闭包中调用 Groovy 脚本中的方法 在 Groov ...

  3. python中的方法和函数的区别_python中函数与方法的区别?

    Python中函数不是方法,主要有以下区别: 首先,从分类的角度来分析二者的区别 (1)函数的分类: 内置函数:python内嵌的一些函数. 匿名函数:一行代码实现一个函数功能. 递归函数:自己调用自 ...

  4. java中main方法的作用是什么_java中main方法是什么

    Java中的main方法,是一个java应用程序的入口,无论一个java的应用多么复杂庞大,或是多么的小,只要他是一个可以运行的java程序那么必然就要有一个main方法. main方法的定义格式通常 ...

  5. java中list方法addall怎么写_简历中个人优势怎么写?| 四大方法教你打造独一无二“个人标签”...

    一. 个人简历中绕不开的核心部分是优势能力的描述,同时也在过往的几百例咨询中发现,无论是即将毕业的职场新人.还是已经有3-5年经验的,很多都有类似的困惑. "我不知道我有啥特长,大学四年好像 ...

  6. java中实现方法重载怎么声明_java 接口中如何声明类似于重载的方法?

    先说一下你的几个问题 你使用一个类型参数T继承PetHospital,T的类型可能是Hippiater,Customer,Pet等.这种继承方法违反了继承的"is-A"语义,试想一 ...

  7. 绑定服务调用本地服务中的方法

    如果想调用服务中的方法, 通过startService()是做不到的, 这时需要用bindService来解决. 下面的demo是在Activity中调用Service中的自定义方法---method ...

  8. C#实现反射调用动态加载的DLL文件中的方法

    反射的作用: 1. 可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型  2. 应用程序需要在运行时从某个特定的程序集中载入一个特定的类型,以便实现某个任务时可以用到反射. ...

  9. html 调用c#dll中的控件,C#实现反射调用动态加载的DLL文件中的方法和在窗体中加载DLL文件的用户控件...

    反射的作用: 1. 可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型 2. 应用程序需要在运行时从某个特定的程序集中载入一个特定的类型,以便实现某个任务时可以用到反射. ...

  10. php怎么调用类里面的方法_php调用类中的方法

    PHP外文名:PHP: Hypertext Preprocessor,中文名:超文本预处理器是一种通用开源脚本语言.可以是未实例化的类名直接调用.下面由小编整理了几种php调用类中的方法,希望对大家有 ...

最新文章

  1. zcu102 hdmi example(一)
  2. 由event target引发的关于事件流的一连串思考(二)
  3. 【译】SQL Server误区30日谈-Day2-DBCC CHECKDB会导致阻塞
  4. 【机器学习】使用MLflow管理机器学习模型版本
  5. CentOS虚拟机不能联网状况下yum方式从本地安装软件包
  6. CF-1207 F. Remainder Problem(分块)
  7. 关于SAP CRM中间件系统搭建中遇到的一些问题
  8. HazelCast的Spring-Boot和Cache抽象
  9. mysql工作中遇到的问题_MySQL工作中遇到的问题记录
  10. java vim ide_把VIM配置成IDE开发环境 | 学步园
  11. oracle查询学生人数语句,Oracle期末复习题-带答案
  12. 音乐 美术 计算机期末考试表,贵阳初中学业水平考试信息技术、音乐、美术考评标准出炉!...
  13. 重载、类型转换与运算符
  14. 免费python自学攻略-Python自学攻略
  15. 科大讯飞独家Founding赞助国际语音顶会,14篇论文被收录
  16. C# winform程序调用屏幕键盘
  17. 如何在Mac上合并照片库?
  18. ubuntu安装mysql失败了,为啥嘞
  19. mac 下载软件无法将程序拖移至app 出现错误
  20. 【Python与数据分析实验报告】Pandas数据分析基础应用

热门文章

  1. find文件,tar打包和打包压缩
  2. 创建视图,查询表空间的利用情况
  3. Oracle checkpoint详解
  4. 模拟input type=file
  5. Squid在企业中的应用
  6. snoopy(强大的PHP采集类) 实例应用
  7. 兩台SQL Server數據同步解決方案
  8. 惠普z840工作站linux,HP Z840 工作站,高清非编工作站
  9. 【学习笔记】3、Jupyter Notebook无法打开问题处理
  10. 【整理】SAP 看板简介