pocemu nelizea postaviti this.catscount a abezatelina Cat.catscount.
hidden #1877085
16 уровень
pocemu nelizea postaviti this.catscount , ?
Решен
Комментарии (6)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #1877085
30 октября 2019, 03:18
spasibo !!!
0
Санжар Мухитдинов
30 октября 2019, 08:18
если помогли ставьте + на тот пост который помог :)
0
Санжар Мухитдинов
29 октября 2019, 18:23
При создании объекта в строке 10 создастся объект cat1, и у него будет переменная catsCount но не своя собственная, а общая с классом так как переменная catsCount объявлена как static, а к статическим переменным класса обращение через (в нашем случае) Cat.catsCount = catsCount; Но если бы переменная класса была не статичной то у объекта cat1 она была бы собственная не общая с классом, а к собственным переменным как раз обращались бы через this. но в нашем примере даже метод setCatsCount статичный, из за этого если я не ошибаюсь в нём this использовать не получиться.
при попытке выполнить этот код, будет следующая ошибка:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Cannot use this in a static context
at Cat.setCatsCount(Cat.java:6)
at Cat.main(Cat.java:11) +2
Ksenia Volkova Java Developer в DXC Master
29 октября 2019, 18:28
Здесь проблема будет не в catsCount, а в попытке использовать this в статическом методе.
0
Санжар Мухитдинов
29 октября 2019, 18:52
Ксения сейчас я немного обновил пост, я правильно объясняю или нет?
0
Ksenia Volkova Java Developer в DXC Master
29 октября 2019, 04:49
Можно, но статические переменные принадлежат классу, а не конкретному экземпляру, поэтому это будет мне совсем корректно.
0