java - Swift 和可见性声明

标签 java swift scope declaration class-visibility

有人可以举例说明何时建议在类及其属性/方法中使用修饰符 public 吗?

来自 Java 背景,这有点令人困惑,因为 - 如果我没记错的话 - Java 中 public 修饰符的等价物将是 Swift 中的 internal

谢谢!

最佳答案

Swift 的访问控制不绑定(bind)到继承,而是绑定(bind)到文件和模块。这些修饰符可以应用于类型、类型成员、全局变量和常量。

public表示对外可见,类似于Java的public。这些符号被导出,即框架的公共(public)接口(interface)。

internal 只能被同一模块中的文件访问。这类似于 package private,但它对模块外的子类不可见。这些用于不属于公共(public)接口(interface)但在框架内的代码之间共享的东西。

private 符号仅对同一文件中的代码可见,同样独立于继承。

关于java - Swift 和可见性声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25495000/

相关文章:

java - 依赖注入(inject)和容器类 (java-ee 7)

java - 在面向对象设计中处理类型指示符的最佳方式是什么?

ios - SQLite 到核心数据迁移

javascript - 为什么javascript在一个函数中而不是在另一个函数中从父作用域访问值?

ruby - 方法中临时变量的惯用 ruby

java - VLCJ播放视频片段时毫秒有什么影响吗?

swift - 使用 Swift 的 defer 的正确方法是什么

json - Swift JSONDecoder typeMismatch 错误

python - 为什么不能在 Python 的全局变量中使用 max() 函数?

java - Context.CONNECTIVITY_SERVICE 错误。无法访问?