static关键字用来修饰属性、方法,称这些属性、方法为静态属性、静态方法。
static的方法,只能访问static的属性,不能类访问非静态的属性。不过调用非静态方法不可以使用this关键字调用非静态方法,而必须使用self::关键字,并且被调用的非静态方法中不能有非静态变量,一般情况静态方法尽量不要调用非静态方法。
static的属性,在内存中只有一份,为所有的实例共用。
可以使用self:: 关键字访问当前类的静态成员。
立即学习“PHP免费学习笔记(深入)”;
本书是全面讲述PHP与MySQL的经典之作,书中不但全面介绍了两种技术的核心特性,还讲解了如何高效地结合这两种技术构建健壮的数据驱动的应用程序。本书涵盖了两种技术新版本中出现的最新特性,书中大量实际的示例和深入的分析均来自于作者在这方面多年的专业经验,可用于解决开发者在实际中所面临的各种挑战。 本书内容全面深入,适合各层次PHP和MySQL开发人员阅读,既是优秀的学习教程,也可用作参考手册。
非静态方法调用静态变量
<?phpclasstest{publicstatic$pi=3.14;
functiondisplay()
{returnself::$pi;
}
}
$test=new test();
echo'<br/>'.$test->display();
?>静态方法调用静态变量
<?phpclasstest{publicstatic$pi=3.14;
staticfunctiondisplay_static()
{returnself::$pi;
}
}
$test=new test();
echo'<br/>'.$test::display_static();
?>非静态方法调用静态方法
<?phpclasstest{publicstatic$pi=3.14;
staticfunctiondisplay_static()
{returnself::$pi;
}
functiondisplay()
{returnself::display_static();
}
}
$test=new test();
echo'<br/>'.$test->display();
?>静态方法调用非静态方法(实际就相当于将非静态方法在调用过程中转变为静态方法来处理了)
<?phpclasstest{publicstatic$pi=3.14;
staticfunctiondisplay_static()
{returnself::display();
}
functiondisplay()
{returnself::$pi;
}
}
$test=new test();
echo'<br/>'.$test::display_static();
?>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });
以上就介绍了php学习之旅:static变量与方法,包括了静态方法,静态属性,静态变量方面的内容,希望对PHP教程有兴趣的朋友有所帮助。










