Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668

Почему запрещено создавать статический вложенный(локальный) класс внутри статического метода

23.03.2014, 14:58. Показов 1046. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Java
1
2
3
4
5
6
7
class Outer {
       public static void mStatic(){
           static class A{
              static  int staticInnerField =1; 
           }
       }
}
Разве это пртиворечит каким-то базовым концепциям java?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.03.2014, 14:58
Ответы с готовыми решениями:

Статический вложенный класс
Добрый день. Только начала изучать Java. Пожалуйста, скажите, как синтаксически реализовать следующее: есть класс А, есть класс В...

Вложенный запрос вернул больше одного значения Это запрещено, когда вложенный запрос следует после =, !=, <
Здравствуйте,проблема вот в чем,при добавление записи в таблицу,первая запись добавляется,а при добавление второй выдает что...

Вложенный запрос вернул больше одного значения Это запрещено, когда вложенный запрос следует после =, !=, <, <
Здравствуйте,проблема вот в чем,при добавление записи в таблицу,первая запись добавляется,а при добавление второй выдает что...

4
Кандёхаем веселее!
 Аватар для MLPMan
296 / 330 / 76
Регистрация: 02.10.2012
Сообщений: 2,175
23.03.2014, 15:37
Вложеный это внутри класса. Это анонимный, он внутри метода. Я убрал static в А, тогда можно(наверное типа и так понятно, если "родительский" метод статический), но появилась другая ошибка, нельзя создавать статик переменные.
modifier static is only allowed in constant variable declarations.
Интересно, почему.
0
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
23.03.2014, 15:52  [ТС]
Цитата Сообщение от MLPMan Посмотреть сообщение
Вложеный это внутри класса. Это анонимный, он внутри метода. Я убрал static в А, тогда можно(наверное типа и так понятно, если "родительский" метод статический), но появилась другая ошибка, нельзя создавать статик переменные.
modifier static is only allowed in constant variable declarations.
Интересно, почему.
я тоже сначала так подумал, но нееет. Это обычный не статический.

по научному зовётся локальным.
0
Кандёхаем веселее!
 Аватар для MLPMan
296 / 330 / 76
Регистрация: 02.10.2012
Сообщений: 2,175
23.03.2014, 16:10
А зачем вообще его там создавать?
Цитата Сообщение от gredwhite Посмотреть сообщение
Это обычный не статический.
Кто, класс А? static же.
0
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
23.03.2014, 16:19  [ТС]
так нельзя:
Java
1
2
3
4
5
6
class Outer {
       public static void mStatic(){
           static class A{
              static  int staticInnerField =1; 
           }    
}
}
так можно:
[JAVA]
Java
1
2
3
4
5
6
class Outer {
       public static void mStatic(){
          class A{
            int staticInnerField =1; 
           }    
}

делаю вывод, что он не статический по тому, что на него действуют все те же самые правила.

Добавлено через 59 секунд
хотя меня поначалу смутило как бы обращение к нестатическому контенту в пределах статического метода.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.03.2014, 16:19
Помогаю со студенческими работами здесь

Добавление метода в статический класс Program
вот метод public string Decrypt(string cipherText, string password, string salt = &quot;Kosher&quot;, string hashAlgorithm = &quot;SHA1&quot;, int...

[JVM] Почему в Java можно возвращать из метода массив, созданный внутри этого метода и размещенный в стеке?
Пишу на C, и там нельзя возвратить указатель на массив созданный внутри функции: int* createAndInitializeArray() { int array; ...

Вложенный запрос вернул больше одного значения, это запрещено
SqlCommand sqlcmd = new SqlCommand(&quot;Товары_Insert&quot;, Form1.connect); SqlCommand sqlcmd2 = new...

Как создать класс внутри метода?
Как создать класс внутри метода С# Язык программирования С# Csharp У меня есть метод в этом методе я хочу создать класс (думаю надо...

Статический конструктор не статического класса
в шарпе такое возможно, но в плюсах почему то не получается... можно ли как то реализовать? class A { public: static A() {} };


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru