PHP中new self()与new static()在面向对象中的具体应用区别是什么?

更新于
2026-09-30 13:23:57
0阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计621个文字,预计阅读时间需要3分钟。

PHP中new self()与new static()在面向对象中的具体应用区别是什么?

首先明确结论,在PHP中,`self` 指向当前被调用的类,而 `static` 指向当前类的静态成员。以下是对应的改写内容:

php在PHP中,`self` 用于指向当前被调用的类,它指向的是当前类的实例。`static` 用于访问静态成员,它指向的是当前类的静态属性和方法,与实例无关。

以下是一个例子来证明上述结论:

phpclass A { public static $a='Class A'; public static function selfExample() { echo 'This is a method of class A.'; } public static function staticExample() { echo 'This is a static method of class A.'; }}

// 使用self调用类方法A::selfExample();

// 使用static调用静态方法A::staticExample();

// 输出静态属性echo A::$a;

以上代码展示了如何使用 `self` 和 `static` 关键字来访问类的方法和属性。`self::selfExample()` 调用 `A` 类的 `selfExample` 方法,而 `A::staticExample()` 调用 `A` 类的静态方法 `staticExample`。同时,`A::$a` 输出静态属性 `$a` 的值。

首先阐明结论,在PHP中 self指向定义了当前被调用方法的类, static指向调用当前静态方法的类。
阅读全文

本文共计621个文字,预计阅读时间需要3分钟。

PHP中new self()与new static()在面向对象中的具体应用区别是什么?

首先明确结论,在PHP中,`self` 指向当前被调用的类,而 `static` 指向当前类的静态成员。以下是对应的改写内容:

php在PHP中,`self` 用于指向当前被调用的类,它指向的是当前类的实例。`static` 用于访问静态成员,它指向的是当前类的静态属性和方法,与实例无关。

以下是一个例子来证明上述结论:

phpclass A { public static $a='Class A'; public static function selfExample() { echo 'This is a method of class A.'; } public static function staticExample() { echo 'This is a static method of class A.'; }}

// 使用self调用类方法A::selfExample();

// 使用static调用静态方法A::staticExample();

// 输出静态属性echo A::$a;

以上代码展示了如何使用 `self` 和 `static` 关键字来访问类的方法和属性。`self::selfExample()` 调用 `A` 类的 `selfExample` 方法,而 `A::staticExample()` 调用 `A` 类的静态方法 `staticExample`。同时,`A::$a` 输出静态属性 `$a` 的值。

首先阐明结论,在PHP中 self指向定义了当前被调用方法的类, static指向调用当前静态方法的类。
阅读全文