Kotlin的访问权限管理

本文详细对比了Java和Kotlin中的权限修饰符,包括public、private、protected及默认修饰符的作用范围,特别强调了Kotlin在顶级类型和模块可见性上的独特设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

遇横逆之来而不怒
遭变故之起而不惊
当非常之谤而不辩

1. Java中的权限修饰符

我们知道在Java中有四种权限修饰符

  1. public
  2. private
  3. protected
  4. 什么也不写(即我们常说的default)

既然是权限修饰符,首先我们要明白对What进行权限管理。

1. 修饰对象
  1. 类(枚举类)
  2. 类的成员(变量,方法(构造方法它也是方法),内部类)

只有 publicdefault才能修饰类(枚举)


2. 权限范围

public的字面意思是"公共的,公开的", 所以public是权限最大的修饰符。
private的字面意思是“私有的”, 所以private是权限最小的修饰符。
protected的意思是“保护的”。

总结一下:

修饰符同一个类同一个包不同包子类不同包且非子类
publicYYYY
privateYNNN
protectedYYYN
YYNN

说实在,学习Java的时候,一直认为其default的访问权限设计的不合理。Kotlin毕竟是站在巨人的肩膀上产生的。

在这里插入图片描述

2. Kotlin中的权限修饰符

Kotlin在没有显式指定修饰符的时候,默认可见性是public

2.1 Kotlin中的Top-Level(顶层)类型

我相信大家在刚开始学习Kotlin的时候,都会有此疑惑:

Kotlin在新建文件时有所不一样,其独有的File类型,文件类型为.kt。简而言之,这就是文档中的top-level类型。

我们可以在Kotlin的.kt文件中,可以在内部定义接口单例方法属性,建议大家可以自己试一下。

我们知道protected独特之处是子类关系。protected修饰符是不允许修饰top-level成员的。(PS:想要使用top-level中的成员,必须要import)

Kotlin的类型

其它的类型都能跟Java对应上(PS:Object类型是Kotlin用来声明单例的)

2.2 Kotlin中的权限修饰总结
修饰符作用Top-Level
public全部可见全部可见
internal模块内可见模块内可见
protected自身内部+子类
private自身内部自身内部

Kotlin中文网站
Kotlin官网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值