Easystatic
Что такое статические методы и поля?
1Постановка
Разберём, что от вас хотят в этом вопросе и как к нему подступиться на собеседовании.
2Решение
static-члены принадлежат классу, а не экземпляру. Все объекты класса разделяют одну static-переменную. static-метод можно вызвать без объекта (Math.max(1, 2)), у него нет this.
class Counter {
static int total = 0; // общий для всех экземпляров
static final double PI = 3.14; // константа класса
static { total = loadFromDb(); } // static-блок инициализации
Counter() { total++; }
static int current() { return total; } // без this
}import static java.lang.Math.max;— можно вызыватьmax(1,2)безMath.;- Static nested class (
static class Inner) — без ссылки на Outer; - Перегрузка static-методов работает, переопределение — нет (static binding).
3Как отвечать
- Сначала уточните условия и ограничения, покажите аналитическое мышление.
- Рассуждайте вслух — интервьюеру важен ход мысли, а не только финальный ответ.
- Оцените сложность по времени и памяти (Big-O), если это алгоритмический вопрос.
💡
На реальном собеседовании Alffert подскажет развёрнутый ответ в реальном времени.