Ответ
Static-методы в Java/Kotlin принадлежат классу, а не экземпляру. Их ключевые параметры/особенности:
- Не требуют создания объекта – вызываются через имя класса (
ClassName.method()). - Не имеют доступа к не-static полям/методам – работают только с static-полями или аргументами.
- Не могут быть переопределены – но можно "скрыть" через объявление в дочернем классе.
- Используются для утилитных функций – например,
Math.sqrt(),Collections.sort().
Пример (Kotlin):
class StringUtils {
companion object {
fun capitalize(str: String): String {
return str.replaceFirstChar { it.uppercase() }
}
}
}
// Вызов: StringUtils.capitalize("hello") → "Hello"
В Android часто применяются для хранения констант (BuildConfig) или pure-функций.