1、静态方法,静态属性被称作类方法、类属性,可以在没有实例化的时候直接使用 类名::属性名 类名::方法名() 这样的方式来调用。
header("content-type:text/html;charset=utf-8");
class Human{
static public $name = "小妹";
public $height = 180;
static public function tell(){
echo self::$name;
//静态方法调用静态属性,使用self关键词
//echo $this->height;//错。静态方法不能调用非静态属性
//因为 $this代表实例化对象,而这里是类,不知道 $this 代表哪个对象
}
public function say(){
// echo self::$name . "我说话了".'<br>';
// echo '<hr>';
// self::tell();
echo '我是say方法';
}
}
随手找了一个例子,测试了一下使用的方式。
2、静态方法不能调用非静态属性,因为非静态属性需要实例化后,保存到对象里面
3、非静态方法可以调用静态属性和静态方法。使用self::属性名 self::方法名() 这样的方式来调用