Встречается на собеседованиях • сегодня

В чем разница между статическими и нестатическими членами классов

Статические члены класса (поля и методы) принадлежат самому классу, а не его экземплярам. Они загружаются при старте JVM и существуют в единственном экземпляре.

Нестатические члены принадлежат конкретному объекту и создаются при инстанцировании класса.

Ключевые отличия:

  1. Доступ:
    • Статические: ClassName.member
    • Нестатические: object.member
  1. Контекст:
    • В статических методах нельзя использовать this и обращаться к нестатическим полям/методам напрямую.

Пример:

java
class Example {
    static int staticCount = 0;  // Общее для всех объектов
    int instanceCount = 0;       // Уникальное для каждого

    static void staticMethod() {
        // Можно обратиться только к staticCount
    }

    void instanceMethod() {
        staticCount++;  // Доступно
        instanceCount++;  
    }
}

Используй static для утилитарных методов (Math.sqrt()) или общих данных, нестатические — для поведения объектов.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы