【问题标题】:Kotlin access modifiersKotlin 访问修饰符
【发布时间】:2017-08-18 22:41:15
【问题描述】:

我正在尝试和学习 Kotlin,在访问修饰符方面遇到了困惑,与 Java 相比,Kotlin 具有 Private、Public、Internal 和 Protected 访问修饰符,

那么 internal 和 package 一样吗?一个小例子:

package A

private fun foo() {} // visible inside example.kt

public var bar: Int = 5 // property is visible everywhere
    private set         // setter is visible only in example.kt

internal val baz = 6 // visible inside the same module

【问题讨论】:

    标签: java kotlin


    【解决方案1】:

    在 Java 中,有一个 Package 的概念,但在 Kotlin 中没有。

    在Java中,Package是指A是一组相似类型的类、接口和子包。

    相对于Java,Kotlin 有一个Module 的概念,根据kotlin 文档,module 的定义如下:

    Kotlin 中的模块

    内部可见性修饰符意味着该成员在同一个模块中是可见的。更具体地说,模块是一组编译在一起的 Kotlin 文件:

    1. 一个 IntelliJ IDEA 模块;
    2. Maven 或 Gradle 项目;
    3. 通过一次 Ant 任务调用编译的一组文件。

    【讨论】:

    • 感谢您的回答。这是有道理的,但对于来自 java 的人来说有些困惑。
    猜你喜欢
    • 2014-11-03
    • 2013-05-25
    • 2015-04-09
    • 1970-01-01
    • 1970-01-01
    • 2014-08-24
    • 2021-12-17
    • 2012-06-25
    • 2017-03-13
    相关资源
    最近更新 更多