|
объясните плиз почему не компиляется
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
убираю static - все ok ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2003, 18:26 |
|
объясните плиз почему не компиляется
|
|||
---|---|---|---|
#18+
А как в статическом методе можно обращаться к не статическим переменным? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2003, 20:37 |
|
объясните плиз почему не компиляется
|
|||
---|---|---|---|
#18+
Да потому что public class b -- является внутренним и может существовать только в том случае если если создан экземпляр внешнего класса в контексте которого он и будет создаваться, когда ты вызываешь new b(); не из статического метода, то следовательно экземпляр класса a уже есть, а иначе в статическом это требование не выполнятся. А вообще Эккеля читать надо, там хорошо про внутренние/внешние классы рассказано. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2003, 20:41 |
|
объясните плиз почему не компиляется
|
|||
---|---|---|---|
#18+
Как все запущено... У экземпляра внутреннего класса есть какая-то встроенная ссылка на экземпляр внешнего? что-то вроде parent_this? В С++ внутренний/внешний класс - это просто различия в области видимости там аналогичный код без проблем компиляется: Код: plaintext 1. 2. 3.
а в Джаве как? спеку я конечно прочитаю ...когда-нибудь :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2003, 10:40 |
|
|
start [/forum/topic.php?fid=59&fpage=856&tid=2154424]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
63ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 170ms |
0 / 0 |