abstract class Base { constructor(s: String) val s: String } class Outer { class Derived : Base { constructor(s: String) } object Obj : Base }