class Fenbi
{
public $length;//属于对象的(普通成员)
public static $color;//属于类的,静态成员
//返回数据库的连接对象
public static function Lianjie()
{
//$this->length;//静态方法不能调用普通成员
Fenbi::$color;//静态方法可以调用静态成员
return"连接对象";
}
public function Test()//普通方法可以调用静态成员
{
Fenbi::$color;
}
}
class A extends Fenbi
{
}
//A::$color;//子类可以调用父类的静态成员,静态成员不能实例化
Fenbi::$color;//调用静态成员变量的方法 类名::静态成员
//普通成员的调用
$f=new Fenbi();//可以实例化
$f->length;
$f->Lianjie();
Fenbi::Lianjie();//调用静态方法
//$f->color;//找不到
//关键词 static 普通成员属于对象 静态成员属于类 普通成员方法里可以调用静态成员 静态方法里不能调用普通成员
//c#举例
/*Form f1=new Form();
f1.Show();
function ShowNext()
{
Form f2=new Form();
f2.Show();
}
function Close()
{
Form::bs=1;
}
f1.ShowNext();*/
class Form { public static $bs=0; public function show() { echo"显示窗体"; } public function Close() { Form::$bs=1; echo"窗体关闭"; } public function shownext() { $f2=new Form(); return $f2; echo"又显示一个窗体"; } public function JianCe() { if(Form::$bs==0) { echo"f2没有关闭"; } else { echo"f2已经关闭"; } } } $f1=new Form(); $f1->show(); echo Form::$bs; $f2= $f1->shownext(); $f2->show(); $f2->Close(); echo Form::$bs; $f1->JianCe();
原文:http://www.cnblogs.com/hamilton/p/5592169.html