Почему нужно писать именно строку кода?
Почему не cat.woman = owner; а именно cat.owner = women; нужно писать?
Олег
3 уровень
Почему нужно писать именно строку кода?
Решен
Комментарии (6)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Олег
21 января 2020, 06:01
package com.javarush.task.task02.task0213;
/*
Питомцам нужны люди
*/
public class Solution {
public static void main(String[] args) {
Cat cat = new Cat();
Cat.owner = Woman;
Dog dog = new Dog();
Dog.owner = Woman;
Fish fish = new Woman();
Fish.owner = Woman;
}
"Переменную "owner" нельзя использовать в статическом контексте.
файл com/javarush/task/task02/task0213/Solution.java, строка 9, позиция 180"
Что значит, "owner" нельзя использовать в статическом контексте?
0
Ksenia Volkova Java Developer в DXC Master
21 января 2020, 06:31полезный
owner не является статической переменной, то есть она должна относиться к какому-то конкретному объекту - экземпляру класса.
Ты же не указываешь объект (например, cat), вместо него ты пишешь имя класса (Cat).
+1
Олег
21 января 2020, 06:41
Этот момент понял, дальше связать не могу код, ушел читать в 10 раз) эту тему.
0
Ira Shugaeva
22 января 2020, 19:35
а там где задаете Fish fish не выдает ошибку? new Fish ведь должно быть?
0
hidden #2233539
20 января 2020, 15:52
Надо писать второй вариант, потому что в классе Cat есть переменная owner:
Поэтому, когда ты пишешь cat.owner = women, то ты присваиваешь значение переменной owner в объекте cat.
А что бы выполнялся первый вариант надо переделать класс Cat:
+1
Ksenia Volkova Java Developer в DXC Master
20 января 2020, 15:40
Потому что так работает оператор присваивания.
Он присваивает значение из правой части той переменной, что слева.
0