以前的学习方法总是看完视频或者找到解决办法就没有然后了,导致很多东西都了解的不够深入,再去查找的时候也是费时费力。最近想重新查漏补缺下,把所有的知识点总结下,大部分来自黑马程序员的视频,希望能巩固自己的知识。
访问修饰符:用来修饰属性,可以限定对象的属性在那一段范围之中访问
- @private :私有 被@private 修饰的属性只能在本类的内部访问
只能在本类的方法实现中访问 - @protected:受保护的,被@protected 修饰的属性只能在本类和本类的子类中访问
只能在本类和子类的方法实现中访问 - @package:被@package修饰的属性 可以在当前框架中访问
- @public:公共的,可以在任意的地方访问
名字 | 范围 |
---|---|
@private | 只能在本类的内部访问 只能在本类的方法实现中访问 |
@protected | 受保护的 ,只能在本类和子类的方法实现中访问 |
@package | 被@package修饰的属性 可以在当前框架中访问 |
@public | 公共的,可以在任意的地方访问 |
如果不为属性指定访问修饰符 那么默认的就是@protected
子类仍然可以继承父类的私有属性
- 只不过在子类中无法直接访问从父类继承过来的私有属性
但是如果父类中有一个方法再为属性赋值或者取值
那么子类可以调用这个方法间接的访问父类的私有属性
使用建议
- @public无论什么情况下都不要使用,属性不要直接暴露给外界
- @private 如果属性只想在本类中使用 不想在子类中使用 那么就使用它
- @protected 如果你希望属性只在本类和本类的子类中使用
推荐使用默认的@protected
网友评论