Решил, как мне кажется, всё правильно.
package com.javarush.task.task15.task1522;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
Закрепляем паттерн Singleton
*/
public class Solution {
public static void main(String[] args) {
}
public static Planet thePlanet;
static {
try {
readKeyFromConsoleAndInitPlanet();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void readKeyFromConsoleAndInitPlanet() throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = reader.readLine();
if (s.contains(Planet.SUN)) {
thePlanet = Sun.getInstance();
System.out.println("Создан объект Солнце");
}
if (s.contains(Planet.MOON)) {
thePlanet = Moon.getInstance();
System.out.println("Создан объект Луна");
}
if (s.contains(Planet.EARTH)) {
thePlanet = Earth.getInstance();
System.out.println("Создан объект Земля");
}
thePlanet = null;
}
}