为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第7天 一课掌握Kotlin 突破开发语言瓶颈

标签:
Kotlin

课程信息

课程内容

可见性对比

图片描述

可见性修饰对象

图片描述

模块的概念

模块大致可以认为是一个Jar包、一个aar,具体分为:

  • IntelliJ IDEA模块
  • Maven工程
  • Gradle SourceSet
  • Ant任务中一次调用的文件

internal vs default

  • 一般由SDK或公共组件开发者用于隐藏模块内部细节实现
  • default可通过外部创建相同包名来访问,访问控制非常弱
  • default会导致不同抽象层次的类聚集到相同包之下
  • internal可方便处理内外隔离,提升模块代码内聚减少接口暴露
  • internal修饰的Kotlin类或成员在Java当中可直接访问

构造器的可见性

class Person
private constructor(var age: Int, var name: String)

属性的可见性

// private修饰的属性为私有化属性,外部无法访问

class Person(private var age: Int, var name: String)

class Person(var age: Int, var name: String) {
	private var firstName: String = ""
}

属性getter/setter的可见性

getter的可见性必须与属性可见性一致

// firstName可见性是public,设置getter为private会报错
class Person(var age: Int, var name: String) {
	var firstName: String = ""
		private set
		private get
}

setter的可见性不得大于属性的可见性

// firstName可见性是private,设置setter为public会报错
class Person(var age: Int, var name: String) {
	private var firstName: String = ""
		public set
}

顶级声明的可见性

  • 顶级声明指文件内直接定义的属性、函数、类等
  • 顶级声明不支持protected
  • 顶级声明被private修饰表示文件内部可见

学习总结

通过本章节的学习,掌握了Kotlin可见性的相关知识,老师对getter/setter可见性的总结,让我们记忆起来尤为简单。

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
全栈工程师
手记
粉丝
4
获赞与收藏
1

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消