|
объясните плиз почему не компиляется
|
|||
---|---|---|---|
#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&msg=32344436&tid=2154424]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
86ms |
get tp. blocked users: |
1ms |
others: | 275ms |
total: | 558ms |
0 / 0 |