<?php
class test
{
//定义属性
public static $mA = "这是静态属性";
public $A = "非静态属性";
//静态方法
public static function sfun()
{
echo self::$mA; //内部调用静态属性
//echo $this->A; //报错 无法输出
}
//非静态方法
function fun()
{
echo self::$mA; //"这是静态属性"
echo $this->A; //"非静态属性"
}
}
$test = new test(); //实例化
$test->fun(); //外部调用非静态方法
test::sfun(); //外部调用静态方法
echo $test->A; //外部调用非静态属性
echo test::$mA; //外部调用静态属性
总结:
1.静态属性或方法用"::"调用 非静态属性或方法用"->"调用
2.静态方法不能调用非静态属性
3.静态方法或属性无需实例化即可调用
4.若用"::"调用非静态方法 默认该方法为静态
5.调用静态属性 属性名前需要加“$” 非静态属性则不需要