я вообще ничего не понимаю :(
ключевые моменты понимаю, а другое нет:
1)pilot((Human) astronaut); зачем это нужно?
чтобы записать полученный результат в метод?
тогда зачем тут astronaut?
2) if (astronaut instanceof Human){}
тут пишется - если переменная класса астронавт относится к классу человек выполни.
p.s"ПРОШУ ОТНЕСИТЕСЬ С ПОНИМАНИЕ. Я ЧЕЛОВЕК КОТОРЫЙ НАЧАЛ УЧИТСЯ ПРОГРММИРОВАТЬ С 0 ПРОГРЕССОМ И ДО СИХ ПОР ПРОДОЛЖАЮ(вы когда то тоже начинали с 0 и ничего)И Я БУДУ СПРАШИВАТЬ, ТО ЧЕГО Я НЕ ПОНМАЮ ДО ТЕХ ПОР, ПОКА Я ТОЧНО ЭТОГО НЕ ПОЙМУ!!"
package com.javarush.task.pro.task17.task1705;
import java.util.ArrayList;
/*
Космическая одиссея ч.3
*/
public class Solution {
public static ArrayList<Astronaut> astronauts = new ArrayList<>();
public static void main(String[] args) {
createCrew();
printCrewInfo();
runWorkingProcess();
}
public static void runWorkingProcess() {
for (Astronaut astronaut : astronauts) {
if (astronaut instanceof Human) {
pilot((Human) astronaut);
}
if (astronaut instanceof Dog) {
createDirection((Dog) astronaut);
}
if (astronaut instanceof Cat) {
research((Cat) astronaut);
}
}
}
public static void pilot(Human human) {
System.out.println("Член экипажа " + human.getInfo() + " пилотирует корабль.");
}
public static void createDirection(Dog dog) {
System.out.println("Член экипажа " + dog.getInfo() + " занимается созданием навигационного маршрута.");
}
public static void research(Cat cat) {
System.out.println("Член экипажа " + cat.getInfo() + " исследует ближайшие планеты.");
}
public static void createCrew() {
astronauts.add(new Human());
astronauts.add(new Human());
astronauts.add(new Dog());
astronauts.add(new Cat());
}
public static void printCrewInfo() {
System.out.println("На борт погружены члены экипажа: ");
for (Astronaut astronaut : astronauts) {
System.out.println(astronaut.getInfo());
}
}
}