Rumah >pembangunan bahagian belakang >tutorial php >static关键字全面理解

static关键字全面理解

小云云
小云云asal
2018-03-08 09:12:281827semak imbas


static关键字就是静态或全局的意思,可以用来修饰类、方法和变量。通常我们会听到类成员或者静态变量(就是加载后不会再变化)。当静态成员加载后就不会再变化,如:String字符串,一旦被初始化值就不会再改变。一般在开发中,我们将共有成员用static修饰。

1、 最常见的就是:用来修饰成员变量(将其变为类的成员),e.g.:程序状态和异常信息。(这两个一般是用static和final共同修饰,这个在开发中很常见)。

2、 用来修饰成员方法,将其变为类方法,就可以使用“类型.方法名”调用,常用于工具类。(就是不需要创建对象)

3、 静态代码块,就多个对象放在一起初始化(静态代码块被执行的较早,只在静态变量之后)

静态变量

接下来我们说说静态变量(被static修饰)和实例变量(没有被静态变量修饰)的不同:

1、 静态变量:在内存中只是一个拷贝,只被初始化一次,只分配一次内存,用类型可以直接访问,也可以通过创建对象来访问。

2、 实例变量:被调用需要创建对象,没创建一次就要分配一次内存,在内存中可以有多个考培,但相互不影响。

静态方法

静态方法可以直接通过类名来调用,实例也可以直接调用。因此静态方法中不能存在super和this关键字(如果有不是和耍流氓一样吗?实例变量和特定对象关联)。

 相关推荐:

static关键字在PHP中的使用详解

new self()和new static()有什么区别

php中static与self两者之间的区别详解

Atas ialah kandungan terperinci static关键字全面理解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:php计算农历的实例代码Artikel seterusnya:实例讲解SSO单点登录原理