Сделал 3 метода очистки комнаты статическими(по дефолту были не статик). Валидатор хочет что бы методы были не статические. Так как я могу обратиться к этим методам в cleanAllApartments если они не статик? По другому не получается
package com.javarush.task.task14.task1415;
import java.util.ArrayList;
import java.util.List;
/*
Клининговый центр
*/
public class Solution {
public static void main(String[] args) {
List<Apartment> apartments = new ArrayList<Apartment>();
apartments.add(new OneRoomApt());
apartments.add(new TwoRoomApt());
apartments.add(new ThreeRoomApt());
cleanAllApartments(apartments);
}
public static void cleanAllApartments(List<Apartment> apartments) {
for (Apartment apartment: apartments) {
if(apartment instanceof OneRoomApt) {
Solution.OneRoomApt.clean1Room();
} else if (apartment instanceof TwoRoomApt) {
Solution.TwoRoomApt.clean2Rooms();
} else if (apartment instanceof ThreeRoomApt) {
Solution.ThreeRoomApt.clean3Rooms();
}
}
}
static interface Apartment {
}
static class OneRoomApt implements Apartment {
static void clean1Room() {
System.out.println("1 room is cleaned");
}
}
static class TwoRoomApt implements Apartment {
static void clean2Rooms() {
System.out.println("2 rooms are cleaned");
}
}
static class ThreeRoomApt implements Apartment {
static void clean3Rooms() {
System.out.println("3 rooms are cleaned");
}
}
}
Никогда бы не подумал, что это так пишется. Спасибо