Tag: 摘要

Kotlin覆盖抽象的val行为,对象vs类

我刚开始使用并开始搞抽象类,重写val和singelton。 但是,我刚刚遇到一个非常奇怪的行为。 我的目标是要有一个抽象类,然后创建几个扩展抽象类的singelton。 因为我想要求某些variables,我创建了抽象的val,然后可以在子类中重写(而不是通过构造函数传递它们)。 所以我有四个class: 主要活动: class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val instance = Instance() Log.d(“MainActivity”, “instance randObject: ${instance.randObject}”) Log.d(“MainActivity”, “instance randObject: ${instance.randObject.myProp}”) Log.d(“MainActivity”, “instance randObject: ${instance.randObject.myProp2}”) Log.d(“MainActivity”, “singleton randObject: ${Object.randObject}”) Log.d(“MainActivity”, “singleton randObject: ${Object.randObject.myProp}”) Log.d(“MainActivity”, “singleton randObject: ${Object.randObject.myProp2}”) } } 例如: class Instance: AClass(){ override val testString: […]

Kotlin抽象受保护的财产

如果我有以下类层次结构: abstract class Foo() { abstract protected val thing: T } class Baz : Foo { override protected val thing: T = … } 我对Baz ::事情说: 冗余可见性修改器 这是否意味着编译器将其视为受保护的,而不需要指定或者必须公开?