php面向对象里边的静态属性和普通属性的区别和用法是什么
php面向对象里边的静态属性和普通属性的区别和用法是什么
<code>区别:
1、静态属性、静态方法是属于类的,是所有对象共有的,不属于任何一个具体的对象;
2、普通属性、普通方法是属于一个具体的对象的。
用法:
1、类外部 类名::属性名、类名::方法名() 的形式访问;
2、类内部 self::属性名、self::方法名() 的形式访问。
class Test
{
// 静态属性
private static $name = '测试';
// 静态方法
public static function getName ()
{
return self::$name;
}
}
// 外部调用静态方法
$name = Test::getName(); // 测试</code>
所谓静态就是说这个成员在内存中的地址是不会变化的。
那么类的静态方法,也就是可以直接调用,而不需要实例化对象,因为如果实例化对象的话,每一次实例化一个对象出来他的地址都是重新分配的,那么这个对象在内存中的地址就是动态的。
得知这个话就可以理解静态成员是在他所属的类在加载的时候就已经固定下来了在内存中的位置。
所以说静态成员是不是要实例化对象,而是直接使用类名来调用。
立即学习“PHP免费学习笔记(深入)”;
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号