class和static
2018-03-21 本文已影响8人
某个胖子
- 相同点:
- 都可以修饰func ,static 修饰的方法叫做静态方法,class修饰的叫做类方法
- 都可以修饰计算属性
- 不同点:
- class 不能修饰存储属性,static可以修饰存储属性(称为静态变量(常量))
- class 修饰的计算属性可以被重写,static 修饰的不能被重写
- static 修饰的静态方法不能被重写,class 修饰的类方法可以被重写
- class 修饰的类方法被重写时,可以使用static 让方法变为静态方法
- class 修饰的计算属性被重写时,可以使用static 让其变为静态属性
- class 只能在类中使用,但是static 可以在类,结构体,或者枚举中使用
综上: static修饰的属性、方法等都带有 final 特性(不能被子类override)