Наверное, многие из нас видели в коде аннотацию @JvmStatic и выглядит так, что она достаточно простая. Аннотация помогает сделать методы и свойства статическими в контексте Java. Казалось бы, а что еще тут говорить? Я тоже так думала, а набралось на целую статью. Когда мы пишем код на Kotlin, наши котики классы и объекты по умолчанию не имеют статических методов или свойств, как это принято в Java. Вместо этого Kotlin предлагает нам использовать companion objects. Однако, иногда нам нужно, чтобы методы и свойства выглядели статическими для кода на Java. Здесь на помощь приходит @JvmStatic. Допустим, у нас есть котик, который мяукает: Если мы попытаемся вызвать этот метод из Java, код будет выглядеть так: И вот выглядит не очень удобно, что появляется какой-то INSTANCE и нельзя просто написать Barsik.meow(). Кому интересно откуда INSTANCE, то вот как котлин код превращается в Java: Аннотация @JvmStatic поможет нам решить эту проблему. Теперь вызов из Java будет выглядеть привычно: Пос