Maison >développement back-end >tutoriel php >php学习之旅:static变量与方法

php学习之旅:static变量与方法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBoriginal
2016-07-29 09:12:18914parcourir

static关键字用来修饰属性、方法,称这些属性、方法为静态属性静态方法

static的方法,只能访问static的属性,不能类访问非静态的属性。不过调用非静态方法不可以使用this关键字调用非静态方法,而必须使用self::关键字,并且被调用的非静态方法中不能有非静态变量,一般情况静态方法尽量不要调用非静态方法

static的属性,在内存中只有一份,为所有的实例共用。

可以使用self:: 关键字访问当前类的静态成员。

静态方法调用静态变量

<code><span><?php </span><span><span>class</span><span>test</span>{</span><span>public</span><span>static</span><span>$pi</span>=<span>3.14</span>;
        <span><span>function</span><span>display</span><span>()</span>
        {</span><span>return</span><span>self</span>::<span>$pi</span>;
        }   
    }
    <span>$test</span>=<span>new</span> test();
    <span>echo</span><span>'<br>'</span>.<span>$test</span>->display();
<span>?></span></span></code>

静态方法调用静态变量

<code><span><?php </span><span><span>class</span><span>test</span>{</span><span>public</span><span>static</span><span>$pi</span>=<span>3.14</span>;
        <span>static</span><span><span>function</span><span>display_static</span><span>()</span>
        {</span><span>return</span><span>self</span>::<span>$pi</span>;
        }   
    }
    <span>$test</span>=<span>new</span> test();
    <span>echo</span><span>'<br>'</span>.<span>$test</span>::display_static();
<span>?></span></span></code>

静态方法调用静态方法

<code><span><?php </span><span><span>class</span><span>test</span>{</span><span>public</span><span>static</span><span>$pi</span>=<span>3.14</span>;
        <span>static</span><span><span>function</span><span>display_static</span><span>()</span>
        {</span><span>return</span><span>self</span>::<span>$pi</span>;
        }   
        <span><span>function</span><span>display</span><span>()</span>
        {</span><span>return</span><span>self</span>::display_static();
        }
    }
    <span>$test</span>=<span>new</span> test();
    <span>echo</span><span>'<br>'</span>.<span>$test</span>->display();
<span>?></span></span></code>

静态方法调用非静态方法(实际就相当于将非静态方法在调用过程中转变为静态方法来处理了)

<code><span><?php </span><span><span>class</span><span>test</span>{</span><span>public</span><span>static</span><span>$pi</span>=<span>3.14</span>;
        <span>static</span><span><span>function</span><span>display_static</span><span>()</span>
        {</span><span>return</span><span>self</span>::display();
        }   
        <span><span>function</span><span>display</span><span>()</span>
        {</span><span>return</span><span>self</span>::<span>$pi</span>;
        }
    }
    <span>$test</span>=<span>new</span> test();
    <span>echo</span><span>'<br>'</span>.<span>$test</span>::display_static();
<span>?></span></span></code>
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了php学习之旅:static变量与方法,包括了静态方法,静态属性,静态变量方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn