MST

星途 面试题库

面试题:Kotlin可见性修饰符之模块内访问控制

在Kotlin中,假设你有一个模块,模块内有多个Kotlin文件。在一个文件中定义了一个类,使用internal修饰符。请描述这个类在模块内和模块外的可见性情况,并举例说明如何在模块内其他文件中访问这个类。
41.5万 热度难度
编程语言Kotlin

知识考点

AI 面试

面试题答案

一键面试
  1. 可见性情况
    • 模块内:使用internal修饰符定义的类,在模块内是可见的。模块内的其他Kotlin文件可以访问该类。
    • 模块外:该类在模块外是不可见的。其他模块无法访问这个使用internal修饰的类。
  2. 模块内访问示例
    • 假设我们有一个模块,其中有两个Kotlin文件File1.ktFile2.kt
    • File1.kt中定义一个使用internal修饰的类:
// File1.kt
internal class InternalClass {
    fun printMessage() {
        println("This is an internal class.")
    }
}
  • File2.kt中访问这个类:
// File2.kt
fun main() {
    val internalObj = InternalClass()
    internalObj.printMessage()
}

在上述示例中,由于InternalClass使用internal修饰,在同一模块的File2.kt中可以正常访问并实例化该类。