gpt4 book ai didi

php静态属性

转载 作者:IT王子 更新时间:2023-10-29 00:11:22 24 4
gpt4 key购买 nike

我有两个代码片段(关于 static 关键字),我希望它们具有相同的输出,但实际上输出是不同的。

问题是为什么?

片段 1

class base
{
public static $var = 1;
}

class sub extends base
{
public static $var = 2;
}

echo base::$var; // Outputs 1

1

片段 2

class base2
{
public static $var2 = 1;
}

class sub2 extends base2
{
}

sub2::$var2 = 2;
echo base2::$var2; // Outputs 2

2

最佳答案

我想再补充一点。

STATIC 变量关联到类的任何特定实例/对象。因此,您使用父类引用或子类引用修改变量,相同的副本被修改。

因此,除了将 Public Static 理解为全局之外,请将其理解为不与任何特定实例相关联,因此对于任何类层次结构引用,您更新静态变量时,相同的内存位置也会更新。

--

红酒

关于php静态属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14930046/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com