第一种 简单到爆
finalclassSingle: NSObject {
staticlet shared = Single()
privateoverride init() {}
}
final关键字的作用是这个类或方法不希望被继承和重写
第二种
privatelet single = Single3()
finalclassSingle3: NSObject {
staticvarshared: Single3{
returnsingle
}
fileprivate override init() {}
}