Avatar ·

Swift 中有访问修饰符吗?(public, private, internal)

大家好!我刚开始学习 Swift,从 Java 和 C++ 转过来,有一个问题困扰着我。在 Java 中,我习惯在每个类、方法或字段前显式指定 `public`、`private`、`protected`。但在 Swift 中,我看到代码示例中声明前经常什么都不写,它也能工作。例如: ```swift class MyClass { var name = "John" func sayHello() { print("Hello") } } ``` 而且我可以从同一项目的另一个文件访问这个类及其方法。这是否意味着默认情况下所有东西都是 `public`?还是有其他默认修饰符?如何让某些东西完全隐藏在文件内部或类内部?我听说过 `fileprivate` 和 `open`,但不知道何时使用它们。请解释一下 Swift 中有哪些访问修饰符,它们与 Java 有何不同,以及如何在真实项目中正确应用它们。感谢提供带解释的示例! <<>>

Swift 中的访问修饰符:完整解析