php面向对象中常用的关键字有final、static、const
(1)final:
1,final不能修饰成员属性 2,final只能修饰类和方法作用:
使用final修饰的类不能被子类继承 使用final修饰的方法不能被子类去覆盖 用来限制类不被继承,方法不能被覆盖就使用final(2、)static: 1,使用static可以修饰成员属性和成员方法,不能修饰类 2,用static修饰的成员属性,可以被同一个类的所有对象共享 3,静态的数据是存在内存中的数据段中(初始化静态段) 4,静态的数据是在类每一次加载时分配到内存中的,以后再用到类时就直接从数据段中 获取 5,只要在程序中使用到这个类(有这个类名出现)就是类被加载注意:静态的成员都要使用类名去访问,不用创建对象,不用对象去访问
类名::静态成员 如果在类中使用静态成员,可以使用self代表本类(功能相当于$this) self::静态成员 6,静态方法,不能访问非静态的成员,非静态的方法中,可以访问静态成员。 这是因为非静态的成员,就必须用对象来访问,访问内部的成员使用的就是$this,静态方法不用使用对象来调用,也就没有对象,$this也就不能代表什么对象,非静态的成员还必须使用对象。如果你确定一个方法不使用非静态的成员,则可以将这个方法声明为静态方法(不能创建对象,直接用类名来访问)(3、)const: 1,它只能修饰成员属性 2,类中声明常量属性使用const 3,命名的方法与define是一样的效果 4,访问方式和static静态成员属性是一样:类名::常量 self::常量 5,常量一定要在声明时就给初值 6,常量在声明后不能被重新赋值