Default Types for Generics

Use a default using a typealias:

class MyClass<T> {

    companion object {
        operator fun invoke() = MyClass<Int>()
    }

}

typealias MyClassInt = MyClass<Int>

interface Foo {
    val myObj: MyClassInt
}

But actually, why do you need that in the first place?