|
|
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. вот такая ситуация находясь в статическом контексте пытаюсь вызвать статическую функцию другого класса. Получаю ошибку. Внимание: я знаю как обойти тупость компилятора и исправить этот код, чтобы все заработало правильно. Но ситуация глупая. Такого в языке с многолетней эксплуатацией просто быть не должно. Очевидно, что поскольку я нахожусь в статическом контексте, не статические поля мне не доступны и НЕ интересны, поэтому дай мне весь доступный статический контекст. а вот фиг. ======================== поскольку я занимаюсь кодогенерацией на различный языках. постоянно нарываюсь на такие идиоцкие "закладки". Наболело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 15:18 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
ах да, забыл написать. в C# например все работает так, как и должно. Всем привет! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 15:27 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Дарахой, днефничок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 15:41 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
язычёк ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 15:50 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Cheblin, Вы так уверенно говорите о том, что можете ошибки компилятора обойти, но вот непонятно, что это такое за определение у Вас в коде Код: java 1. Уберите его и компилятор сразу "поумнеет" или определите Код: java 1. . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 16:11 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Назвали переменные и классы одинаково - а потом удивляются. Вот нахрена так делать? Вы бы еще их еще и по русски назвали бы и с пробелами. Вроде же общепринято, что классы называют с заглавной буквы, а поля и переменные со строчной. А на факт, что какой-то другой говно язык по другому обрабатывает говно код - любителям кофе глубоко пофиг. IMHO P.S. А в C# можно переменные и классы называть по русски и с пробелами? Вот в Oracle - запросто ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 16:16 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
TEST test; все что я делаю соответствут правилам.а выкрутится можно ещё проще. Main.TEST.set(); вручную бы такой код скорее писать бы не стал. но кодогенератор - он прост, генерит по правилам, согласно придложенным метаданным. данная сиуация, досадный, но легко обходимый, баг - исправление которого ничего не поломает, а только улучшит. ещё раз в С# все работает как и ожидается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 16:21 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Cheblinисправление которого ничего не поломает, а только улучшит. Чо улучшит-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 16:22 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Cheblin, Не надо. При попытке стартануть такой проект выдает ошибку на строку с объявлением Код: c# 1. Error 1 'Project1.Main.TEST2.TEST': cannot declare instance members in a static class c:\users\valery\documents\visual studio 2012\Projects\Project1\Project1\Main.cs 24 18 Project1. Та что и Вам привет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 16:25 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Valery Shiskin, Забыл указать, что не поленился C# протестить. Не поверил, что там такой код допустим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 16:27 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Cheblin, Еще раз. Не работает ни хрена в c#. Не вводите в заблуждение, а если есть работающий код, то покажите его. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 16:30 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
А в C# можно предлагаю не начинать холивар. С# был упомянут в подтверждении логики того как все должно происходить. Назвали переменные и классы одинаково - а потом удивляются. ну да. люди такие. они ещё в базах данных делают так, что имена таблиц совпадают с именами некоторых полей. дикари! а потом кодогенератор берет эти метаданные и по ним генерит JAVA код . получается некомпилируемый код. на JAVA. на всех других языках - ОК. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 16:30 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Еще раз. Не работает ни хрена в c#. Не вводите в заблуждение, а если есть работающий код, то покажите его. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 16:37 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Чо улучшит-то? язык. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 16:39 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Cheblin, Нормально, это у таких как Вы. А у нас, как вы сказали, "дикарей" существует точное представление о том, почему совпадение имен таблиц и полей допустимо в sql и требует аккуратности при использовании, как Вы мудро сказали "во всех других языках". PS. Не злите Blazkowicz, а то он умеет очень хорошо отвечать "НЕ ДИКАРЯМ" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 16:40 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Cheblin...а потом кодогенератор берет эти метаданные и по ним.... А сделать правильный кодогенератор не судьба? Например к названиям классов/полей добавлять префиксы. Cheblin... они ещё в базах данных делают так, что имена таблиц совпадают с именами некоторых полей. дикари! ... Вот именно, а потом удивляются, что запрос данных не находит или находит лишнее. Когда параметры ф-ции и поля в таблице названы одинаково ))) Ну и вопрос остается: что будет, если поля в таблице будут названы по русски и с пробелами. Кодогенератор так и будет кодогенерить на Java? И опять виновата будет Java, что пробелы в названиях переменных и классах не допускаются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 16:43 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Не злите Blazkowicz, код под С# скомпилировался? А у нас, как вы сказали, "дикарей" перечитайте мое сообщение. там написано совершенно о другом. не торопитесь отвечать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 16:47 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Cheblin, И где в этом коде есть статические классы? Забыли или разницы не понимаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 16:48 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Например к названиям классов/полей добавлять префиксы существует 338 способов как, извернуться и обойти очевидный баг компилятора. вот программисты js обладают подобными навыками в совершенстве. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 16:54 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
И где в этом коде есть статические классы? Забыли или разницы не понимаете. Valery, С# похож на JAVA примерно также, как JAVA похожа на JavaScript. Читать документацию всеравно придется. не торопитьесь отвечать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 16:58 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Cheblin, Вы не желаете принять, что совершенно не понимаете, что такое static класс в java, что такое static класс в c#. У Вас определены nested классы. Вы не сможете в java в inner классах определить static метод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 17:07 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Cheblin, Так и почитайте документацию, а лучше спецификацию и Вы поймете, что компилятор java работает в точном соотвествии со СВОЕЙ, а не с ВАШЕЙ спецификацией. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 17:09 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Valery Shiskin вы совершенно не хотите читать документацию, а рассуждать хотите. в итоге генерируете белый шум. для чего вам это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 17:10 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Cheblin, Укажите, пожалуйста документацию, подтверждащую, что компилятор java должен компилировать Ваш код. Я могу назвать ошибкой компилятора с#, тот факт, что он не понимает такой код, как: Код: java 1. А в java это допустимо. Вот, чтобы такая возможность существовала и не допускается двусмысленный код, подобный Вашему. И, думаю, разработчики в java этому только рады. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 17:51 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Код: java 1. кстати ещё одна несуразность. все анализаторы кода верещат от такого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 18:01 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Valery Shiskin, И еще переменная TEST класса TEST2 ни как не может быть использована в коде TEST2 и это просто мусор, который компилятор c# позволяет держать в коде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 18:07 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Valery Shiskin, И еще переменная TEST класса TEST2 ни как не может быть использована в коде TEST2 и это просто мусор, который компилятор c# позволяет держать в коде. И, наверное, все анализаторы верещат от восторга. И можно Вас спросить, а почему они верещат и что Вам не нравится? Наверное, Вы хотели бы, чтобы Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. Был код Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 18:12 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. С# Вы незнаете. впрочим для форума JAVA это офтопик. читайте документацию. думайте, не торопитесь отвечать. ну ведь смешно выглядите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 18:33 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Cheblin, Ну да, классный код. Аж рыгнуть хочется. c# код видит переменные в своем коде только, если они public. Неужели так и в документации сказано? Если да, то согласен. Например, если в классе TEST2 определить два метод: Код: c# 1. 2. 3. 4. то работает, только, если TEST объявлена как public. И что, анализаторы в восторге? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 19:12 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Cheblin, Да, работал с 2003 по 2007 с c# и даже имею лицензионный VS2003. Ну такого кода никогда бы не додумался написать. Очевидно - это только для очень крутых анализаторов-программистов. Это Вам следовало бы подумать, прежде, чем писать хрень об ошибке компилятора в java. Читайте java спецификацию в части, каким образом java разрешает ссылки, а не несите бред о назначенных Вами ошибках компилятора. Или берите php или javascript, там компиляторы (интерпретаторы) позволяют писать еще более крутые коды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 19:39 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
зевает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 20:00 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Мне непонятно при чем тут C#? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 20:51 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Мне непонятно при чем тут C#? при том что языки не явление природы, это результат размышлений, комбинации логических конструкций. которые, в свою очередь, могут быть удачнами, либо не очень. обсуждаемая проблема это незаконченность, логическая незавершенность. я понимаю откуда эта проблема взялась, кто работал с ast, ну или писал плагин для IDEA работающий с деревом кода, поймут что програмисты в SUN/ORACLE просто схалтурили, упростили себе жизнь, поскольку да, значительно проще выныривать из контекста, в поисках первого попадания. все другие варианты сложнее. создатели С#, в этом смысле, потрудились, и сделали так, как это должно быть. потому и был упомянут С# как образец законченного, правильного, логически целостного решения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2018, 21:25 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Valery ShiskinPS. Не злите Blazkowicz, а то он умеет очень хорошо отвечать "НЕ ДИКАРЯМ" Я бы даже косо смотреть на не него не советовал бы. Эх, молодёжь... Видать ничего про Wolfenstein даже и не слышали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 13:55 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Cheblinах да, забыл написать. в C# например все работает так, как и должно. Всем привет! Ну, вот опять... Ну и пользовался бы своим "Це с решёткой". Зачем сюда припёрся-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 13:58 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Не проще - а очевиднее Чем меньше слоность в правилах, тем проще разработчику. В данном случае, лексема TEST это переменная, а не класс. И разработчику, и компилятору нафиг не нужно 100500 правил: если статик и что-то там не статитик, то я лексему буду так распознавать, а если не статик, то так.... Это была бы полнейшая дикость. Изменил сигнатуру финкции и правила интерпретации лексем поменялись... Бред. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 13:58 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, Бред. бред что? поведение компилятора С# ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 14:51 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Cheblinбред что? поведение компилятора С# ?енти его возможности нам не нужны)). У нас корпоратив))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 14:57 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Cheblinбред что? поведение компилятора С# ? при чем тут C# ? Это форум по Java. Давайте тогда обсуждать, что и C# и Java - suxx, т.к. не позволяют в идентификаторах пробелы использовать, а Oracle - rulez, т.к. позволяет. Если четкие правила, java им следует. Т.ч. это не ошибка и даже не лень. Это правила языка такие. Не нравится - не программируйте. Никто не заставляет. Используйте Basic, Pascal, C#.... ну или свой язык изобретайте. Разная интерпретация лексем в варажении из-за того, что сигнатура метода другая - на мой взгляд бред и полный ящик возможных скрытых ошибок в коде. Что же тогда мелочится, давайте в обычных методах знак + считать операцией сложения. а в static методах знак + считать операцией вычитания. Что бы было более радостно и весело жить! IMHO & AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 15:05 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, удивляюсь вашей реакции. отчего Вас так колбасит...? ну глюкаво ведет себя JAVA, ну да... пожали плечами и пошли дальше. вы согласны что, за исключением именования полей, (которые должны быть уникальными), для статического кода , любой код принадлежащий экземпляру - НЕ существует? тогда если комилятор вдруг начинает намекать статическому коду, что что то там у нас в НЕ статическом коде - пыщ-пыщ ... это не правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 15:31 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Что за термин статический код, не статический. Есть выражение в коде A + B. Три лексемы. Компилятор отображает их на объекты приложения по каким-то правилам. Эти правила - фиксированы. В каком коде, в какой функции это выражение, по хорошему, синтаксический анализатор е... не должно. Если правила отображения очень сложные или определяются динамически (для каких нибудь скриптовых языков) - это потенциальная возможность словить очень трудно уловимые ошибки. Изменили описания ф-ции со статик на не статик, и выражение A + B стало выдавать другой результат... пойди такую ошибку потом найди. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 15:57 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Вы предлагаете из более-менее типизированного языка, которым являетя Java, сделать скриптовый... ((( Ну да, лично я совершенно против этого. И так язык уже достаточно "запоганен" ((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 15:58 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Изменили описания ф-ции со статик на не статик, и выражение A + B стало выдавать другой результат... пойди такую ошибку потом найди. sova_globus.mp4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 16:04 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Cheblin, Глюкаво ведет себя не JAVA, а Вы. Корчите из себя супер спеца, но не понимаете или скорее не желаете понять, что компилятор любого языка ведет себя так, как предписано спецификацией этого языка, а не так как хотелось бы лично Вам. Вы на протяжении всего форума указывали мне, что читать, как думать и т.д. Но тут же обиделись на вполне нормальный пост Leonid Kudryavtsev. Такое впечатление, что Вы что на форум зашли поскандалить. Я теперь понимаю, почему в самом начале на Ваше появление была такая реакция. Очевидно Вы не впервой засветились. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 19:43 |
|
||
|
non-static variable ... cannot be referenced from a static context
|
|||
|---|---|---|---|
|
#18+
Valery ShiskinCheblin, Глюкаво ведет себя не JAVA, а Вы. Корчите из себя супер спеца, но не понимаете или скорее не желаете понять, что компилятор любого языка ведет себя так, как предписано спецификацией этого языка, а не так как хотелось бы лично Вам. Вы на протяжении всего форума указывали мне, что читать, как думать и т.д. Но тут же обиделись на вполне нормальный пост Leonid Kudryavtsev. Такое впечатление, что Вы что на форум зашли поскандалить. Я теперь понимаю, почему в самом начале на Ваше появление была такая реакция. Очевидно Вы не впервой засветились. Да это всегда так - негатив от нежелания что-то новое осваивать. Точнее предвзятое мнение о чем-либо, с чем лично не работал и не знаешь тонкостей, которых тьма. Я в ахуе был месяца два-три от джаваскрипт))) Сейчас ничего, понимаю, откуда ноги растут. Не сравнить, конечно, так же, как си и джаву, но тем не менее. Меня прям бесило, что в коде я не могу посмотреть что произойдет в процессе написания. И только потом, с небольшим опытом, уже начинаешь понимать, как это круто и одновременно убого отсутствие строгой типизации :) Просто кто-то может просто сесть и почитать доки, посмотреть примеры, статьи, а кому-то надо все свои недопонимания по своему истолковать, да еще и вот такие темы создавать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 20:26 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2121914]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 10ms |
| total: | 179ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...