Вы абсолютно неверны.
Вы не можете получить доступ к членам класса внутри объекта-компаньона вообще.Но вы можете использовать членов компаньона в своем классе.
Если вы увидите байт-код kotlin, вы увидите, что объект Companion компилируется в
public static final class Companion {
private Companion() {
}
// $FF: synthetic method
public Companion(DefaultConstructorMarker $constructor_marker) {
this();
}
}
Поскольку Companion static class
, он может существовать безкласс, где он объявлен.
Так что в вашем случае вы не можете получить доступ к a и b, потому что, вероятно, они не существуют.
Они также не доступны для вас, но, вероятно, вы обнаружили ошибку IDEи это не дает вам ошибку