selfとstaticの違い


以前、知らないところでselfとstaticの紹介を見ましたが、よく分かりませんでした.帰ってきて自分でよく研究してみましたが、個人の言語と公式の言い方が違うかもしれません.道理は同じです.
説明:
self:クラス内ポインタとは、どのクラスに書かれているか、どのクラスのメソッドや属性を呼び出すことです.
static:このクラスを使用すると、サブクラスのメソッドまたはプロパティが使用されます.つまり、親がアクセスするのはサブクラスのメソッドまたはプロパティです.
例:
class a{
    public static function who(){
        echo "my name is xiaofeng";
    }
    public static function name(){
        self::who();
    }
}
class b extends a{
    public static function who(){
        echo "my name is xiaoma";
    }
    public static function name(){
        static::who();
    }
}
a::name();
b::name();

出力:
a、my name is xiaofeng
b、my name is xiaoma
以上は个人的な见解で、问题があれば皆さんの交流を歓迎します!
私は最も文芸的な女性プログラム猿です!