Ale*_*iev 7 constructor visibility kotlin
如果我们有一个班级:
class Customer(val customerName: String) { }
Run Code Online (Sandbox Code Playgroud)
它的构造函数参数customerName可以通过getCustomerName()(因为它也是一个属性)来访问.如果我们想限制对此属性的访问,我们应该将其声明为private.
由于在许多情况下来自Java世界(并且如果一个类不是数据类),从构造函数参数分配的字段用于私有/受保护的使用,感觉就像private在Kotlin中明确声明它们一样.
此外,默认情况下,Kotlin类是最终的,那么为什么不遵循这个属性的原则呢?我错过了什么吗?
根据我们的经验,以及对现有代码库的一些实证研究,internal/ public可见性最适合于属性.
此外,默认情况下,Kotlin类是最终的,那么为什么不遵循这个属性的原则呢?我错过了什么吗?
final默认情况下属性,即除非您open明确提供修饰符,否则不能覆盖它们.