【发布时间】:2021-07-22 12:34:20
【问题描述】:
我有两个代码 sn-ps(关于 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
【问题讨论】:
-
感谢提示,刚刚更新
-
我怀疑您将结果与
const混淆了。在 php 中static定义了一个独立于实例的属性。但它仍然可以改变。 -
@user1970939,你到底想完成什么?输出不同,因为您删除了
public static $var = 2;。但你知道的。那么真正的问题是什么? -
我想你在寻找:在类子使用:self::$var = 2;