欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php中什么叫静态方法

程序员文章站 2022-03-02 09:55:54
...

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

php中什么叫静态方法

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

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

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

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

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

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

静态方法

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

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

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

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

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

静态方法的优点:

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

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

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

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

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

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

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

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

推荐学习:《PHP视频教程

以上就是php中什么叫静态方法的详细内容,更多请关注其它相关文章!

相关标签: php 静态方法