`
forkun
  • 浏览: 38496 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

PHP中static 和self的使用区别

 
阅读更多

class A {
    public static function who() {
        echo __CLASS__;
    }
    public static function test() {
        self::who();
//        static::who();
    }
}
A::test();

class B extends A {
    public static function who() {
        echo __CLASS__;
    }
}
echo B::test();

 

如果使用关键字self运行结果:   A A

如果使用关键字static运行结果:A B

static:父类访问了子类的静态方法

self: 是类内指针,指向本类,静态方法,属性

分享到:
评论

相关推荐

    【JavaScript源代码】php类中static与self的使用区别浅析.docx

    php类中static与self的使用区别浅析  使用 self:: 或者 __CLASS__ 对当前类的静态引用,取决于定义当前方法所在的类: 使用 static:: 不再被解析为定义当前方法所在的类,而是在实际运行时计算的。也可以称之为...

    PHP的new static和new self的区别与使用

    在PHP编程语言中,`new self` 和 `new static` 都是用来实例化类的静态方法,但它们之间存在一些重要的区别。理解这些差异对于编写可扩展和灵活的面向对象代码至关重要。 首先,我们来看一下这两个关键字的基本用法...

    PHP中static关键字以及与self关键字的区别

    主要介绍了PHP中static关键字以及与self关键字的区别,本文讲解了static关键字的定义、迟绑定(Late Static Bindings)、以及与self关键字的区别等内容,需要的朋友可以参考下

    php面向对象编程self和static的区别

    在PHP的面向对象编程中,`self` 和 `static` 关键字经常被用来引用类的静态成员,但它们之间存在显著的区别。了解这些差异对于编写高质量的代码至关重要。 首先,`self` 关键字是PHP中用于引用当前类的静态属性或...

    php中const与static的区别与使用共3页.pdf

    在PHP编程语言中,`const` 和 `static` 都是用来处理变量的,但它们有着本质的区别和不同的应用场景。理解这两个关键字的差异对于编写高效、可维护的PHP代码至关重要。 首先,`const` 关键字用于声明常量,即不可...

    PHP中new static() 和 new self() 的区别介绍

    在PHP面向对象编程中,self关键字和static关键字均用于引用类自身,但它们在不同场景下有各自的用途和区别。self关键字用于在类的静态方法中引用其所在的类,而static关键字则是在PHP5.3之后引入的,用于引用类的...

    php中const与static的区别与使用共3页.pdf.zip

    理解它们的区别和正确使用方式对于编写高效、可维护的代码至关重要。 `const` 关键字用于定义类常量,它有以下特点: 1. **不可变性**:一旦定义了`const`常量,就不能在程序运行过程中改变其值。 2. **全局作用域*...

    PHP5中的this self和parent关键字详解

    在PHP编程语言中,`this`、`self`和`parent`这三个关键字对于理解类的内部工作原理以及如何在继承中正确使用类成员至关重要。下面将详细解释这三个关键字的意义及其用法。 #### 1. `this` 关键字 `this`关键字在...

    PHP面向对象中new self()与 new static()的区别浅析

    在PHP的面向对象编程中,`new self()` 和 `new static()` 是两个常见的构造语法,它们在创建对象时的行为有所不同,特别是在涉及到继承和静态方法时。理解这两个关键字的区别是编写可扩展和灵活代码的关键。 首先,...

    PHP中new static()与new self()的比较

    今天在coding的时候,发现了 new static(),觉得实例化的地方不是应该是 ...然后通过子类直接/间接用到了这个static, 这个static指的就是这个子类, 所以说static和$this很像, 但是static可以用于静态方法和属性等. 具体

    浅谈PHP中new self()和new static()的区别

    在类方法中使用new static()时,它返回的是调用该方法的类的实例,而不是定义该方法的类的实例。这就意味着,如果在子类中调用new static(),那么它将返回子类的一个实例,而不是父类的实例。 这里有一个简单的代码...

    PHP中的静态变量及static静态变量使用详解

    静态变量不仅可以在函数中使用,还可以作为类的静态属性使用。静态属性是属于类本身的,而不是类的某个实例。这意味着静态属性在所有实例之间共享。例如: ```php class Nowamagic { public static $nm = 1; ...

    PHP中new static()与new self()的区别异同分析

    在这个例子中,虽然B是A的子类,但get_self()方法中使用了self关键字,因此不管我们是通过A还是B类调用它,它总是返回A类的实例。 相对而言,static关键字是在PHP5.3中引入的,用于延迟绑定。它引用的是在运行时...

    PHP new static 和 new self详解

    在PHP编程语言中,`new self` 和 `new static` 都是用来实例化对象的关键字,但它们在处理继承和动态上下文时的行为有所不同。理解这两者的差异对于编写灵活和可扩展的代码至关重要。 首先,`self` 关键字是用于...

    php 中self,this的区别和操作方法实例分析

    下面将详细阐述它们的区别和使用方法。 一、`self` 关键字 `self` 关键字主要用于访问类的静态属性和静态方法。这意味着,无论何时调用 `self`,它总是指向当前类本身,而不是类的实例。因此,`self` 不依赖于任何...

Global site tag (gtag.js) - Google Analytics