Kotlin vs Java:可见性修饰符的对比与解析


在面向对象编程中,可见性修饰符是控制类、接口、函数和属性访问权限的重要工具。Kotlin作为一门现代化的JVM语言,在可见性控制方面既借鉴了Java的经验,又做出了许多改进和简化。本文将深入探讨Kotlin中的可见性修饰符,并与Java进行详细对比。

Kotlin中的可见修饰符

Kotlin提供了四种可见性修饰符,每种都有特定的作用范围:
1. public(公开)

  • 默认修饰符, 如果不显示指定,则使用pulic
  • 在任何地方都可访问
  • 示例:
public class Example {
   
   
    public val publicProperty: String = "I'm public"
    
    public fun publicMethod() {
   
   
        println("Accessible everywhere")
    }
}

2. internal(模块内)

  • kotlin特有的修饰符

  • 同一模块内可见

  • 模块: 一组一起编译的Kotlin文件(如 IntelliJ IDEA 模块、Maven 项目、Gradle 源集等)

  • 示例:

internal class InternalClass {
   
   
    internal val internalProperty: String = "Only within module"
}

3. protected(受保护)

  • 只能在声明它的类及其子类中访问

  • 注意: 在 Kotlin 中,protected 成员在包内不可见,这与 Java 不同

  • 示例:

open class BaseClass {
   
   
    protected val secret: String = "Only for subclasses"
    
    protected fun protectedMethod() {
   
   
        println("Subclasses can call me")
    }
}

class DerivedClass 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值