ИЗ
class A : B(5){
//в районе класса а я знаю только id
}
open class B(id: Int, k: String? = null) : C(k!!)
abstract class C(k: String) //класс С я не могу менять
class TT {
fun instantiateA(aClass: Class<out A>) : A {
var k = "строка"
//здесь я знаю только k
//я хочу создать класс А с переданным в C значением k
//через рефлекшены или ещё как, менять могу всё кроме C
}
}