1.@private
代表私有,也就是只有自己有,别人谁都不可用,不可以继承的。
使用 @private
声明的变量:
-
@private
变量只能在类内部调用,在类外无法访问 - 继承该类的子类也无法访问
2.@protected
相较上边的 private
而言,就没有那么自私了,它自己可以用,自己的子类也是可以共享的,是可以继承的。
-
@potected
可以访问的权限比private
大 - 在类外面不能调用potected变量
- 在类里或者继承该类的子类里可以使用该变量
3.@public
相较上边而言,谁都可以用,只要你有这个类的对象,就可以拿到 public
下的变量。
4.@package
这个主要是用于框架类,使用 @private
太限制,使用 @protected
或者 @public
又太开放,就使用这个 package
吧。
- 对于
framework
内部,相当于@public
- 对于
framework
外部,相当于@private
这个特性,很适合用于开发第三方的静态类库,因为多数人并不希望让别人知道自己属性的值。