Java задачки.

Задача: создать класс описывающий вашу кошку. Реализовать методы, выводящие на экран ее описание и вызвать их в методе main.


Решение:

----------------------------


public class Test {


public static void main (String [] args) {

Cat mycat = new Cat();

PtintCatName (mycat);

PrintCatAge (mycat);

PrintCatColor (mycat);

}


public static void PrintCatName (Cat mycat) {

System.out.println (mycat.name);

}


public static void PrintCatAge (Cat mycat) {

System.out.println (mycat.age);

}


public static void PrintCatColor (Cat mycat) {

System.out.println (mycat.color);

}


public static class Cat {

String name = "Murzic", color = "black";

int age = 5;

}


}



ТЕПЕРЬ ВОПРОС!


Правильно ли я понял, что в строке


Cat mycat = new Cat();


мы создаём ссылку на класс Cat?



В методе


public static void MyCatName (Cat mycat)


в ( ) мы сначала указываем класс, с которым будем работать и ссылку на него, а потом


{

System.out.println (mycat.age);

}


в  ( ) указываем ссылку на класс и нужную переменную?

4
Автор поста оценил этот комментарий

В строке

Cat mycat = new Cat();

мы

1) резервируем в памяти именованную ячейку, которая будет хранить адрес местонахождения объекта типа Cat в памяти

2) Создаем новый экземпляр объекта типа Cat

3) В ячейку из п.1 помещаем адрес этого объекта из п.2

раскрыть ветку
1
Автор поста оценил этот комментарий
Cat mycat = new Cat();

мы создаём ссылку на класс Cat?

создаешь экземпляр класса, т.е. объект, а потом в переменную помещаешь ссылку на него

Автор поста оценил этот комментарий
Извините, но это не код, а какая-то каша. В приведенном примере нарушен основной принцип ООП - инкапсуляция, так как в классе Cat поля объявлены с модификатором доступа default и работа с ними ведётся извне класса, так делать нельзя, даже в учебных целях.
раскрыть ветку
DELETED
Автор поста оценил этот комментарий

тебе сюда http://javarush.ru/

а лучше пи.дуй сразу сюда, тут полезнее http://docs.oracle.com/javase/8/javase-clienttechnologies.ht...


public static void main(String[] args) {

  System.err.print("ибонех");

}

раскрыть ветку
Автор поста оценил этот комментарий

В строке Cat mycat = new Cat(); ты создаешь объект mycat класса Cat.

А в строке System.out.println (mycat.age); ты вызываешь статический метод println, которому передаешь аргументом mycat.age, т.е. поле age объекта mycat.