public class Sun implements Planet{
private static String name = Planet.SUN;
private Sun() {}
private static Sun instance;
public static Sun getInstance() {
return instance;
}
}
Результат валидации таков:
Поле instance должно быть инициализировано после первого обращения к методу getInstance, но не раньше.(Непонятно как это условие реализовать)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){}
}
public static void readKeyFromConsoleAndInitPlanet()throws IOException{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String str = reader.readLine();
if (str.equals(Planet.SUN))
thePlanet = Sun.getInstance();
else if (str.equals(Planet.MOON))
thePlanet = Moon.getInstance();
else if (str.equals(Planet.EARTH))
thePlanet = Earth.getInstance();
else
thePlanet = null;
// implement step #5 here - реализуйте задание №5 тут
}
}