返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php中什么叫静态方法
  • 359
分享到

php中什么叫静态方法

php静态方法 2018-06-15 10:06:09 359人浏览
摘要

在php中,通过static关键字修饰的成员方法被称为静态方法,静态方法的内存空间是固定的,只能访问类中的静态成员,可以通过“类名::静态方法()”语句访问静态方法。

教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

在 PHP 中,通过 static 关键字修饰的成员属性和成员方法被称为静态属性和静态方法,这里可以将它们统称为静态成员,类中的静态成员与类中的一般成员不同,静态成员不会被实例化到对象中,也就是说我们不需要实例化一个类,就可以通过类来访问静态成员。

在类中声明静态变量很容易,我们可以在类的普通成员前加一个 static 关键字,就可以将这个普通成员变成静态成员了。这样一来,我们可以在不实例化类的情况下,直接访问类中的这些静态成员。访问静态成员的语法格式如下:

类名::$静态属性
类名::静态方法()

其中::符号被称为范围解析操作符,用于访问静态成员、静态方法和常量,还可以用于覆盖类中的成员和方法。

如果要在类内部的成员方法中访问静态属性,只要在静态属性的名称前加上操作符self::即可。

静态方法

  • 静态方法的内存空间是固定的,相对来说更省资源。

  • 创实例的创一个实例就要开辟一个新内存,耗费资源 静态方法属于类所有,类实例化前即可使用;

  • 静态方法只能访问类中的静态成员;

  • static内部只能出现static变量和其他static方法!而且static方法中还不能使用this等关键字,因为它是属于整个类;

  • 静态方法和静态变量创建后始终使用同一块内存,而使用实例的方式会创建多个内存。

静态方法的优点:

(1)在代码的任何地方都可以用(假设可以访问该类);

(2)类的每个实例都可以访问类中定义的静态属性,可以利用静态属性来设置值,该值可以被类的所有对象使用;

(3)不需要实例对象就能访问静态属性或方法。

静态方法和普通方法的区别

  • 静态方法在创建对象前就可以使用了,非静态方法必须通过new出来的对象调用。

  • 静态方法可以通过 类名::方法名直接调用。普通方法需要创建一个实例,也就是new一个对象,然后通过 对象名->方法名的方式来调用 静态类只能包含静态成员,否则会抛出编译错误;

  • 非静态类既可以包含非静态成员也可以包含静态成员 静态类是不能实例化,之所以不能实例化,是因为静态类会导致C#编译器将该类同时标记为abstract和sealed,并且编译器不会在类型中 生成一个实例的构造函数,从而导致静态类不能实例化;

  • 非静态类可以,并且静态成员的访问只能通过类来进行访问,因为静态成员是属于类的。

--结束END--

本文标题: php中什么叫静态方法

本文链接: https://www.lsjlt.com/news/282.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • php中什么叫空数组
    在php中,长度为0的数组被叫作空数组;空数组是一个真正的对象,只是包含的元素个数为0。php获取数组长度有两种函数:count()和sizeof(),语法“count($arr,$m)”或“sizeof($arr,$m)”,其参数“$m”用于处理多维数组,可省略,若值设为1则可计算多维数组的长度;利用它们可检测一个数组是否为空数组,语法“数组长度==0”,若等于则为空数组。本教程操作环境:wind ...
    289
    2023-04-02
    php数组 php
  • 什么叫域名
    域名可以说是互联网上的门牌号码,用于识别和定位互联网上计算机的层次结构式字符标识,与该计算机的IP地址相对应。属于互联网上的基础服务,基于域名可以提供WWW、EMAIL、FTP等应用服务。 ...
    948
    2023-04-02
    域名
  • php中静态方法可以访问非静态方法吗
    PHP中静态方法可以访问非静态方法,通过实例化对象,就可以调用对象中的非静态方法;静态方法虽然可以调用非静态方法,但是不能够调用构造方法。 ...
    336
    2023-04-02
    php
  • php中什么叫二维数组
    二维数组又称为矩阵,是指一维数组里面再定义一个或多个一维数组,即一个数组中的元素是另一个数组;二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符为“数组名[常量表达式][常量表达式]”。二维数组的声明方式有两种:1、直接赋值,语法“$数组名[行下标][列下标]=值;”;2、用array(),语法“$数组名=array(键名=>array(键名=>值));”。本教程操作环境:win ...
    379
    2023-04-02
    php数组 php
  • python中什么叫函数体
    python中函数体的概念有以下几点1.函数代码块以def关键词开头,后接函数标识符名称和圆括号();2.任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数;3.函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明; ...
    547
    2023-04-02
    python
  • 什么叫欺骗攻击
    网络欺骗的技术主要有:HONEYPOT和分布式HONEYPOT、欺骗空间技术等。主要方式有:IP欺骗、ARP欺骗、DNS欺骗、WEB欺骗、电子邮件欺骗、通过指定路由,以假冒身份与其他主机进行合法通信或发送假报文,使受攻击主机出现错误动作、地 ...
    274
    2023-04-02
    欺骗攻击 网络安全
  • 什么叫dns劫持
    域名劫持是互联网攻击的一种方式,是通过攻击域名解析服务器或伪造域名解析服务器的方法,将目标网站的域名解析到错误的地址,从而实现用户无法访问到目标网站的目的。 ...
    821
    2023-04-02
    DNS DNS劫持
  • php为什么要使用静态方法
    在PHP中,使用静态方法是因为不需要所在类被实例化就可以直接使用,静态方法和静态变量创建后始终使用同一块内存,而使用实例的方式会创建多个内存,并且静态方法效率上要比实例化高。 ...
    249
    2023-04-02
    PHP
  • php的static静态方法是什么
    php static静态方法中的“静态”指的是无需对类进行实例化,就可以直接调用这些属性和方法;而static就是一个关键字,用来修饰类的属性及方法,其使用语法如“class Foo {public static $my_static = 'hello';}”。 ...
    468
    2023-04-02
    static php
  • 什么叫archive log expired?
    A status of "expired" means that the backup piece or backup set is not found in the backup destination. With tape manage ...
    411
    2023-04-02
    archive 什么 expired
  • 什么叫入侵检测
    入侵检测是一种检测计算机网络违反安全策略行为的技术。帮助系统对付网络攻击,提高信息安全基础结构的完整性。提供了对内部攻击、外部攻击和误操作的实时保护,在网络系统受到危害之前拦截和响应入侵。因此被认为是防火墙之后的第二道安全闸门,在不影响网络 ...
    842
    2023-04-02
    入侵检测 网络安全
  • 什么叫数据库
    数据库是存放数据的仓库,可以存放很多数据,存储空间很大,在存放数据时,有一定的规章制度进行管理,以便避免后续出现查询效率低的情况,它是一个按数据结构来存储和管理数据的计算机软件系统。 ...
    804
    2023-04-02
    数据库
  • 什么叫物联网
    物联网是互联网基础上的延伸和扩展的网络,也是信息科技产业的第三次革命,它是通过射频识别、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网相连接,进行信息交换和通信,以实现对物品的智能化识别、定位、跟踪、监 ...
    503
    2023-04-02
    物联网
  • php中的静态属性和静态方法是什么
    在php中,通过static关键字修饰的成员属性和成员方法被称为静态属性和静态方法,访问静态属性和静态方法的语法“类名::$静态属性”和“类名::静态方法()”。 ...
    426
    2023-04-02
    php 静态属性 静态方法
  • java中静态方法与非静态方法的区别
    静态方法与静态成员变量一样,属于类本身,在类装载的时候被装载到内存中,不自动进行销毁,会一直存在内存中,直到JVM关闭。非静态方法又称实例化方法,属于实例对象,实例化之后才会分配内存,必须通过类的实例来引用,当实例对象被JVM回收之后,也跟着消失。区别:首先, ...
    498
    2023-04-02
    java基础 java 静态方法 非静态方法 区别
  • php静态方法有什么特点
    PHP中静态方法的特点是:1、静态方法使用static关键字修饰;2、静态方法在代码的任何地方都可以用;3、不需要实例对象就能够访问静态方法;4、静态方法只能操作静态变量,不能操非静态变量。 ...
    477
    2023-04-02
    php
  • go语言为什么叫go
    go语言叫go的原因:想表达这门语言的运行速度、开发速度、学习速度(develop)都像gopher一样快。gopher是一种生活在加拿大的小动物,go的吉祥物就是这个小动物,它的中文名叫做囊地鼠,它们最大的特点就是挖洞速度特别快,当然可能不止是挖洞啦。 ...
    567
    2023-04-02
    Go go语言 Golang
  • 什么叫蠕虫病毒
    蠕虫病毒是一种常见的计算机病毒,无须计算机使用者干预即可运行的独立程序,它通过不停的获取网络中存在漏洞的计算机的控制权来进行传播。蠕虫病毒入侵并完全控制一台计算机之后,就会把这台机器作为宿主,进而扫描并感染其他计算机。蠕虫病毒使用这种递归的 ...
    192
    2023-04-02
    网络安全 蠕虫病毒
  • 什么叫dns服务器
    DNS服务器又称域名服务器是由解析器和域名服务器组成的,它在万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串,也是建立在分布式数据库上的分层命名系统。 ...
    266
    2023-04-02
    dns服务器 服务器
  • SAP的产品为什么叫R3?
    很多人或多或少地知道SAP公司,但是也许很多不知道SAP公司的产品为什么叫R3R3就是英文中的Real time 的意思,翻译过来就是“实时”的意思。在SAP的产品中你可以深深地体会什么是实时的工作。比如,一旦你使用了SAP管理软件产品,你 ...
    182
    2023-04-02
    什么叫 产品 SAP
热门问答
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作