1、static,----------静态变量声明与使用
a、类内部使用static变量要使用self关键字,变量使用要带上$符号,格式为:self::$some_var,类外部使用类名加作用域符号,格式为app::$some_var;
b、静态方法内使用静态变量与静态方法和const常量,不能使用非静态变量与方法
c、非静态方法内允许使用静态变量和静态方法
<?php
class app{
public static $some_var;
public $public_var;
function __construct(){
$this->some_var=1; //隐式声明public变量
self::$some_var=2;//静态变量
$this->public_var=1;
var_dump($this);
}
public static function getsomestatic(){
return (self::$some_var*5);
}
public function dump(){
echo self::getsomestatic()."---".(self::$some_var*5)."---".$this->public_var;
}
}
$app=new app();
echo "<br/>";
echo $app->getsomestatic()."---实例static some_var <br/>";
echo $app->dump()."<br/>";
echo app::$some_var."---类static some_var <br/>";
echo app::getsomestatic()."---类static some_var <br/>";
?>
self::$some_var=1;//静态变量
输出
object(app)#1 (2) { ["public_var"]=> int(1) ["some_var"]=> int(1) }
5---实例static some_var
5---5---1
1---类static some_var
5---类static some_var
self::$some_var=2;//静态变量
输出
object(app)#1 (2) { ["public_var"]=> int(1) ["some_var"]=> int(1) }
10---实例static some_var
10---10---1
2---类static some_var
10---类static some_var
2.const常量
a、类内部使用const常量要使用self关键字,变量使用不能带上$符号,格式为:self::some_var,类外部使用类名加作用域符号,格式为app::some_var;
b、定义const常量不能使用任何关键字;
c、常量能被任何成员方法中使用
3.final关键字
a、final关键字只能修饰成员方法或者一个类,被final修饰的方法与类均不能被继承