Почему в документации по Android классы активности имеют статический модификатор

Если мы откроем Android документация, мы увидим, что классы Activity имеют модификатор статический:

public static class MainActivity extends Activity {...}

Я привык объявлять мероприятия без модификатора статический:

public class MainActivity extends Activity {...}

В чем причина использования модификатора статический в объявлении класса Activity?

Ошибка документации. К сожалению, они не редкость. Это не означает, что у вас не может быть статического вложенного подкласса Activity, но совершенно ясно, что это не то, что они имели в виду.

Mike M. 24.01.2019 10:49

Обычно вы используете модификатор static только для классов при объявлении внутреннего класса, который не нужно связывать с объявляющим внешним классом.

Jeroen Steenbeeke 24.01.2019 10:50
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
2
69
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это ошибка документации. К сожалению, они не редкость. Обычно вы используете модификатор статический только для классов при объявлении внутреннего класса, который не нужно связывать с объявляющим внешним классом, например:

public class OuterClass {
    // ...

    // static inner class has no reference to outer class
    public static class InnerClass { 
        // ...
    }
}

Другие вопросы по теме