php 关键字 public private protect final static const

public: 公有属性或方法
在子类中可以通过self::var 或self::method 来调用 ,可以通过parent::method来调用父类中的方法,但不能调用公有属性.
在实例中可以通过$obj->var或self::method 来调用
protected: 受保护类型
在子类中可以通过self::var 或self::method调用, 可以通过parent::method来调用父类中的方法
在实例中不能通过$obj->var 来调用  protected类型的方法或属性
private: 私有类型
该类型的属性或方法只能在该类中使用,在该类的实例、子类中、子类的实例中都不能调用私有类型的属性和方法
再来说说final 
1.final不能用来修饰成员属性 
2.final只能修饰类和方法 
作用:被修饰的类不能被子类所继承;被修饰的方法不能被子类的方法覆盖。
然后来说说static 
1.static用来修饰成员属性和成员方法,但不能用来修饰类 
2.用static修饰的成员属性可以被同一个类的所有对象共享 
3.静态的数据是存在 内存中的 数据段中(初始化静态段) 
4.静态的数据是在类在第一次加载时,分配到内存中的 
5.什么是类被加载?只要在程序中使用到这个类(有这个类名出现) 
6.静态的成员属性都要用类名去访问,不用创建对象,不用对象去访问;在类里边可以用self代表本类($this) 
7.静态方法,不能访问非静态的成员属性(但是,在非静态方法却能访问静态的成员属性),非静态的成员属性,必须用对象访问,在内部访问非静态成员属性,用$this. 
8.如果你确定一个方法中不需使用到非静态的成员属性,则可以将这个方法声明为静态方法,不需实例化对象,就可以访问
最后来说说const 
1.它只能用来修饰成员属性 
2.在类中声明常量必须使用const 
3.访问方式和访问静态成员属性一样(类外使用 类名::成员属性,类里边则使用self::成员属性) 
4.常量一定要在声明的时候就给初始值

猜你喜欢

转载自www.cnblogs.com/gudyu/p/9139093.html