static详解

/**
燕十八 公益PHP培训
课堂地址:YY频道88354001
学习社区:www.zixue.it
**/
 
<?php
 /***************************************************************************
 static
    1、在属性,和方法前,加static修饰,这种称为静态属性和静态方法
    2、类声明完毕,该属性就已经存在,不需要依赖于对象而访问
    3、类在内存中只有一个,因此静态属性也只有一个

 访问方式:
    类名::属性名;
    类名::方法名();

 注意事项:
    1、静态方法不能使用 $this
    2、其实 非静态方法,是不能有类名静态调用的
        但是! PHP中的面向对象检测的并不严格
        只要该方法没有 $this, 就会转化静态方法来调用
     3、但是在PHP5.3的 strict 级别下,或者PHP5.4已经非常严格了  
 ****************************************************************************/

class Human{
    static private $name='itao';
    static protected $sex='男';
    static public $age = 21;

    static public function cry(){
        echo Human::$name,'<br />';
        echo Human::$sex,'<br />';
        echo 'cry..........';
    }
    public function eat(){
        echo Human::$age,'<br />'; //检查不严格
        echo 'eat............';
    }
}


echo Human::$age,'<br />';

Human::cry();  echo'<br />';

$human = new Human();
//Error_reporting(E_ALL|E_STRICT);
$human->eat();
echo '<hr />';
//$humain::cry();

原文地址:https://www.cnblogs.com/qintangtao/p/2789036.html