static: 一个一个来吧,好吧。 第一:被static声明的属性可以被实例化调用吗?
<?php
class people
{
static $name="cyg";
}
$people1=new people();
$people1->name;
?>
第二;被·static声明的方法可以被实例化调用吗?
<?php
class people
{
static function eat()
{
echo "吃饭啦";
}
}
$people1=new people();
$people1->eat();
?>
第三:被static修饰的属性可以被类调用吗?
<?php
class people
{
static $name='cyg';
}
echo people::$name;
?>
第四:被static修饰的方法可以被类调用吗?
<?php
class people
{
static function eat()
{
echo "吃饭啦";
}
}
people::eat();
?>
然后呢是:问题:静态成员属于类的,不属于对象的。? 为什么?因为静态成员在类的内部定义的啊 大家,既然$this是属于本身对象的,那self::是属于本身类的哈
问题:在非静态方法里可不可以访问静态成员呢?记住,这里是属性方法都可以访问到哈. 可以,使用self::这个东西。代码演示把。
<?php
class people
{
static $name='cyg&lw';
function eat()
{
echo self::$name;
}
}
$people1=new people();
$people1->eat();
?>
<?php
class people
{
static $name='cyg&lw';
function eat()
{
echo self::say();
}
static function say()
{
echo "string";
}
}
$people1=new people();
$people1->eat();
?>
在静态方法里面能不能访问到非静态的属性呢?
<?php
class people
{
$name='cyg&lw';
static function eat()
{
echo people::$name;
}
}
people::eat();
?>
在静态方法里面能不能访问到非静态的方法呢?
<?php
class people
{
$name='cyg&lw';
static function eat()
{
echo people::say();
}
function say()
{
echo "string";
}
}
people::eat();
?>
到此结束,拜拜。。。 记住哈,static共享的是同一个类所实例的对象的哈,