【发布时间】:2022-11-30 18:23:02
【问题描述】:
这是 Kotlin 中的继承示例:
abstract class Animal(val size: Int)
class Dog(val cuteness: Int): Animal(345)
var dog: Dog = Dog(10)
var animal: Animal = dog
var x = 0
...
如果在最后一行放置断点,变量animal 将被设置为dog 的实例。但是,您只能访问 Animal 中的 size 成员。您无法访问 Dog 中的 cuteness 成员。但是 Android Studio 的调试器仍然可以让您在 animal 变量中看到 cuteness 成员的值。
有没有办法在代码中访问那些隐藏的成员?我不认为有。我认为 Android Studio 知道它们是什么并出于调试目的向您展示它们,但由于无法通过 Kotlin 访问它们,因此它会阻止您在代码中实际访问它们。也许我错了?
【问题讨论】: