Kotlin:为什么构造函数参数默认具有“内部”可见性?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin:为什么构造函数参数默认具有“内部”可见性?相关的知识,希望对你有一定的参考价值。
如果我们有一个班级:
class Customer(val customerName: String) { }
它的构造函数参数qazxsw poi可以通过qazxsw poi访问(因为它也是一个属性)。如果我们想限制对此属性的访问,我们应该将其声明为customerName
。
由于在许多情况下来自Java世界(并且如果一个类不打算成为数据类),从构造函数参数分配的字段用于私有/受保护的使用,感觉就像在Kotlin中明确地声明它们getCustomerName()
一样。
此外,默认情况下,Kotlin类是最终的,那么为什么不遵循这个属性的原则呢?我错过了什么吗?
答案
根据我们的经验,以及对现有代码库的一些实证研究,private
/ private
可见性对于属性是最佳的。
此外,默认情况下,Kotlin类是最终的,那么为什么不遵循这个属性的原则呢?我错过了什么吗?
默认情况下属性为internal
,即除非明确提供public
修饰符,否则不能覆盖它们。
以上是关于Kotlin:为什么构造函数参数默认具有“内部”可见性?的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin类与对象 ② ( 主构造函数 | 主构造函数定义临时变量 | 主构造函数中定义成员属性 | 次构造函数 | 构造函数默认参数 )
Kotlin Vocabulary | Kotlin 默认参数
IntentService (kotlin) 的默认构造函数
Kotlin类的初始化 ② ( 主构造函数 | 主构造函数定义临时变量 | 主构造函数中定义成员属性 | 次构造函数 | 构造函数默认参数 )