Класс - это класс, независимо от того, определен ли он в Java или Kotlin. По большей части это означает, что вы просто делаете Kotlin в Kotlin и Java в Java, независимо от того, где определен используемый вами класс. Есть исключения, как для статических методов, но большинство вещей "просто работает".
Я ожидаю, ничего не зная о классе NormalDistribution, что это будет работать:
val normalDistribution = NormalDistribution(10.0, 3.0);
val randomValue = normalDistribution.sample();
Хорошо, поэтому я был не прав изначально. Мне пришлось изменить свои литералы выше с (10, 3) на (10.0, 3.0) . Вот разница между Java и Kotlin. Котлин не продвигает автоматическое продвижение числовых типов. Поэтому, хотя я мог использовать литералы Integer для эквивалентного Java-кода, в Kotlin мне пришлось использовать литералы Double. Но моя IDE показала мне это сразу, включая всплывающую подсказку, в которой говорилось, что не так. И это вещь Kotlin, а не Java. То же самое произошло бы, если бы я попытался вызвать метод, определенный в Kotlin, принимая в качестве значений double, и я попытался передать ему целые числа. Это никак не связано с тем, в каком языке определен NormalDistribution . После этого упражнения я могу точно сказать, что этот код Котлина работает нормально.
Возможно, проблема в том, что вы просто еще не очень хорошо знаете Kotlin. Частью изучения Kotlin является понимание того, насколько бесполезно использовать Java-классы в коде Kotlin.