Могут ли занятия в Java быть статичными? Ответ да. В Java мы можем иметь статические переменные экземпляра, статические методы и статические блоки. Занятия также могут быть статичными.
Java позволяет нам определять статические классы в классе. Например, вложенный класс. Класс, который закрыл вложенный класс, называется внешним классом. В Java мы не можем изменить класс верхнего уровня со статичным. Только внутренние классы могут быть статичными.
В чем разница между статическими внутренними классами и нестатическими внутренними классами? Вот основные различия между ними.
(1) Внутренний статический класс не должен иметь ссылку на внешний класс. Но нестатические внутренние классы должны иметь ссылки на внешние классы.
(2) Нестатические внутренние классы могут получить доступ к статическим и нестатическим членам внешних классов. Статический класс не может получить доступ к нестатическим членам внешнего класса. Он может получить доступ только к статическим членам внешних классов.
(3) Нестатический внутренний класс не может быть создан без внешнего класса объекта, и нестатический внутренний класс может получить доступ к данным и методам внешнего класса, поскольку он находится внутри внешнего класса.
Основываясь на приведенном выше обсуждении, мы можем сделать программирование проще и более эффективным благодаря этим функциям.
/* Следующая программа показывает, как создать статические внутренние классы и нестатические внутренние классы в Java*/Class overclass {Private Static String MSG = "Geeksforgeeks"; можно только получить только статический член внешнего класса public void printmessage () {// попытаться изменить MSG на нестатический, что приведет к системе ошибок компиляции. ; }}} класс main {// Как создать экземпляры статических внутренних классов и нестатических внутренних классов public static void main (String args []) {// Создание экземпляров статических внутренних классов outterclass.nestatedstaticclass printer = new Oterclass. IntedStaticClass (); ; .InnerClass innerObject = new overclass (). Новый innerCla ss ();Приведенный выше контент - это соответствующая информация о редакторе, внедряющем статический класс в Java.