<?php
Class Person{
public static $country = "中国";// 定义静态成员属性
public $countries = "zhongguo"; //非静态类成员
public $mingzi = array();//非静态类成员
// 定义静态成员方法
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->countries. "<br>"; //调用输出静态成员变量
$p1->mingzi = array("liming"); //调用静态成员数组
echo $p1->mingzi[0]; //输出静态成员数组中的元素
Person::myCountry(); // 输出:我是中国人
$p1->myCountry(); //调用静态成员方法
echo Student::$country."<br />"; // 调用子类 输出:中国
$t1 = new Student(); // 实例化子类
$t1->study(); // 调用子类中的方法输出:我是中国人
?>
<html>
<head>
<meta Content-Type="content-type:text/plain" charset="utf-8">
</head>
</html>
输出结果:
中国
zhongguo
liming我是中国人
我是中国人
中国
我是中国人
正确的写法:
<?php
class myclass{
public static $name="amos";
}
class myclass1{
public $mingzi="amos";
}
echo myclass::$name;
$p2=new myclass1();
echo $p2->mingzi;
?>
<html>
<head>
<meta Content-Type="content-type:text/plain" charset="utf-8">
</head>
</html>
错误的写法:
<?php
class myclass{
public static $name="amos";
}
class myclass1{
public $mingzi="amos";
}
$p1=new myclass();
echo $p1->name;
echo myclass1::$mingzi;
?>
<html>
<head>
<meta Content-Type="content-type:text/plain" charset="utf-8">
</head>
</html>
为什么要声明static类型的成员和方法?
声明类成员或方法为static,就可以不实例化类而直接访问。
如何实例化?
$var= new classname();
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。