美文网首页Swift
Swift关键字:static和class之间的区别

Swift关键字:static和class之间的区别

作者: afb399d1a25f | 来源:发表于2017-04-13 15:19 被阅读307次

http://blog.csdn.net/sponge_cmz/article/details/51321979
类方法既可用class来修饰,也可用static来修饰。
如果父类的类方法使用static修饰的话,子类不能重写这个类方法;
如果父类的类方法使用class修饰的话,子类能够重写这个类方法。
如果父类的类方法是使用final class修饰的话,子类不能重写这个类方法。
综上,static自带final class的性质。
你希望子类能够重写其父类的某个类方法,那就使用class修饰这个类方法。
你不希望子类能够重写其父类的某个类方法,那就使用static修饰这个类方法。

PS:
final class classMethod:可继承,但禁止子类重写其父类中的类方法
final intanceMethod:可继承,但禁止子类重写其父类中的对象方法
private:本类私有的方法或属性,子类不可继承
fileprivate:本文件私有的方法或属性,本文件外不可访问、继承

相关文章

网友评论

    本文标题:Swift关键字:static和class之间的区别

    本文链接:https://www.haomeiwen.com/subject/ppvbattx.html