Swift中static和class的区别

static

可以修饰属性和方法,但是修饰的属性和方法不能被重写。
修饰的方法叫静态方法,不能被重写
可以在类、结构体、枚举中使用

class

可以修饰计算属性和方法,但是不能修饰存储属性
修饰的方法叫类方法,可以被重写
只能在类中使用

拓展

OC中的static

可以修饰全局变量和局部变量

修饰全局变量:

限定了全局变量的作用域(只能在当前文件)。

修饰局部变量:

存储空间是静态分配,而非默认的自动分配。
静态分配的存储空间于编译时在静态区分配,一次分配全程有效。
自动分配的存储空间在调用栈上分配,调用时分配释放。
变量只会初始化一次,两次调用间获取的值相同。

你可能感兴趣的:(Swift中static和class的区别)