open class A { open var p: Int = 1 } class AA : A() { override var p: Int = 1 } class B : J() { override var p: Int = 1 } fun test() { val t = A().p A().p = 1 val t = AA().p AA().p = 1 val t = J().p J().p = 1 val t = B().p B().p = 1 }