В этой задаче просят создать объекты и чтобы их имена вывелись на экран.
Объекты я создал но вывести не знал как. Порылся и узнал что больше ничего не надо и что имена объектов выводятся с помощью классов. Вот и вопрос,
как класс (public static class Red {
public Red() {
System.out.println("Red");
})
связаны со строчкой:
"Red red = new Red();".
Раньше думал, что эта строчка просто создает объект и ссылку на него. Объясните как это работает(как класс выводит на экран "Red") (Нет я понимаю как выводиться, точнее вопрос в том как класс main строчкой("Red red = new Red();") вызывает класс Red пожалуйста, чтобы я знал.
Даниил
12 уровень
Не понятно как это работает, нужно объяснение
Решен
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
/*fadedFog*/
23 июля 2018, 17:22
по моему, если не было бы объекта Red red = new Red() ,то не выводилось ни чего в классе Red Классу нужен объект, и в нашем случае это объект Red,похожий на ящик, а class Red это мы уже в этом ящике и вытаскиваем лист с надписью "Red"
0
Ярослав Java Developer Master
23 июля 2018, 17:15решение
В принципе, вы правильно думали. Только вот есть такое явление как "конструкторы". Конструкторы - специальные методы, которые нужны для создания объектов. Их имя и возвращаемый тип совпадают с именем класса, в котором они объявлены. Когда вы пишите new имя_класса(параметры...), то в классе "имя_класса" вызывается конструктор, параметры которого совпадают с переданными аргументами. В общем, коротко: перед созданием объекта там в коде есть строчка System.out.println(), она будет вызываться каждый раз при создании объекта с помощью данного конструктора. Отсюда и вывод.
+2
Ann
23 июля 2018, 17:45
а что нужно сделать, чтобы напечатать 2 раза Red?
0
Ярослав Java Developer Master
23 июля 2018, 18:31
Добавить в конструкторе еще один System.out.println :)
+1