php中静态方法的和属性的使用

<?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();

/* 总结
静态的属性必须用 :: 的方式来访问
静态方法里不能用 -> 形式访问类中的属性或方法
-> 形式可以访问静态的方法,也可以访问非静态的方法
:: 形式不可以访问非静态的属性,但可以访问非静态的方法
*/





郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。