<?PHP
Class Person{
// 定义静态成员属性
public static $country = "中国";
// 定义静态成员方法
public static function myCountry() {
// 内部访问静态成员属性
echo "我是".self::$country."人<br />";
}
}
class Student extends Person {
function study() {
echo "我是". parent::$country."人<br />";
}
}
// 输出成员属性值
echo Person::$country."<br />";
$p1 = new Person();
//echo $p1->country; //报错
// 访问静态成员方法
Person::myCountry();
// 静态方法也可通过对象访问:
$p1->myCountry();
// 子类中输出成员属性值
echo Student::$country."<br />";
Student::study()."<br />";
$t1 = new Student();
$t1->study();
echo "<hr>";
class c1{
function f2(){
echo "这是一个非静态的方法";
}
}
c1::f2();
/* 总结
静态的属性必须用 :: 的方式来访问
静态方法里不能用 -> 形式访问类中的属性或方法
-> 形式可以访问静态的方法,也可以访问非静态的方法
:: 形式不可以访问非静态的属性,但可以访问非静态的方法
*/