在PHP中,“最终静态”和“const”有什么区别?
我意识到这个问题已经在其他地方被问到过,用于不同的编程语言......但这不是PHP域中相同答案的100%指标,所以我问这个问题。
有人可以告诉我,特别是在PHP中,“最终静态”和“const”之间的区别是什么?
我意识到这个问题已经在其他地方被问到过,用于不同的编程语言......但这不是PHP域中相同答案的100%指标,所以我问这个问题。
有人可以告诉我,特别是在PHP中,“最终静态”和“const”之间的区别是什么?
final
子类不能修改方法或类。这可以防止类继承、方法重写和/或方法的重新定义。
只有类中的类定义和/或方法可以定义为 。
final
static
将类方法或属性声明为静态值,以便您无需实例化对象即可访问它们。它们在父类和子类之间共享。
类定义不能与 不同。
static
final
const
它们为类创建常量值。常量值将被更改,并且不能由父类或子类中的方法更改。
类常量是按类的实例分配的。
const
本身就是一个类型说明符。它不能与 // etc. 一起放置,如前所述,可以与任何方法或类定义一起使用,因此;适用于所有国家。 不能应用于类定义,但可用于类属性。public
private
static
final
static
更新
自 PHP 7.1.0 起,类常量允许使用修饰符。
class Foo { public const bar = 5; private const baz = 6; }
总而言之,
最终的静态
不能用于定义如下内容:class X { final static x = 5; }
这就是为什么你有一个.
const
final
不用于类属性,仅用于类和方法。这意味着无法重写该方法,或者无法从中继承该类。 是等效于 Java 变量的 PHP。const
final