在 Swift 中, 是一个修饰符(Modifier),主要用于类(Class)及其成员(属性、方法、下标)。 它的作用可以从两个维度来理解:语义层面(功能限制)和编译器层面(性能优化)。 --- 一、 语义层面:功能限制 的核心含义是“最终的”、“不可更改的”。它限制了面向对象编程中的继承和重写特性。 1. 修饰类() 当一个类被声明为 时,它不能被继承。 这意味着这个类是继承树中的“叶子节点”。 2. 修饰类成员(, ) 当类中的属性或方法被声明为 时,子类不能重写(Override)这些成员,但子类依然可以继承并使用它们。 --- 二、 编译器层面:性能优化 这是面试中常考的重点。 带来的性能提升主要源于它改变了 Swift 的方法派发机制(Method Dispatch)。 1. 动态派发 vs. 静态派发 默认情况(动态派发 / Dynamic Dispatch): 在 Swift 中,类(Class)是引用类型。为了支持多态(Polymorphism),默认情况下,调用一个对象的方法时,编译器无法在编译阶段确定具体执行哪个方法(因为该变量可能指向子类实例,而子类可能重...