gpt4 book ai didi

kotlin - 为什么 Kotlin 中的数据类不能用内部修饰符标记?

转载 作者:行者123 更新时间:2023-12-04 01:59:04 25 4
gpt4 key购买 nike

我有一个简单的类比方说 User .现在我想创建一个 inner data class让我们说 UserPropertyUser类,但只要我添加 inner修饰符 data类(class)UserProperty IDE 提示 修饰符内部与数据不兼容 .我错过了什么?

最佳答案

一方面,内部类使用外部实例作为隐藏的第一个构造函数参数(实际上是 private val )。另一方面,数据类行为公开所有构造函数参数,包括它们的名称(在 toString() 中),因此它们“应该”可见。另外,在这种情况下

If a supertype has the componentN() functions that are open and return compatible types, the corresponding functions are generated for the data class and override those of the supertype. If the functions of the supertype cannot be overridden due to incompatible signatures or being final, an error is reported;



应该 component1()是外部实例还是您实际编写的第一个参数?

设计人员可能认为任何行为都会让足够多的用户感到惊讶,因此最好完全禁止这种行为。如果你想要你的 UserProperty要像内部类一样,只需添加 User构造函数参数自己。

关于kotlin - 为什么 Kotlin 中的数据类不能用内部修饰符标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60488306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com