swift提供5种不同的访问级别(以下从高到低)
-
open: 可以在定义的模块中使用,也可在其他的模块中使用,(模块相当项目的target)其他模块也可继承、重写。open只能用在类、类成员上。打包静态库给其他项目使用时就需使用open修饰 -
public:可以在定义的模块中使用,也可在其他的模块中使用,但是其他模块不能继承、重写。 -
internal: 只允许在定义的模块中访问, 不允许在其他模块中方法 -
fileprivate: 只允许在定义的源文件中访问(只能在.swift文件中使用) -
private: 只允许在定义的封闭声明中访问(例如:类中) -
不加任何修饰时默认是
internal。