За умовою завдання, клас EnglishTranslator має бути створений у класі Solution - з цим окей...
Але я ніяк не можу допетрити, ЧОМУ класс EnglishTranslator має бути статичним якщо він у середені Solution.
Так як, якщо його(EnglishTranslator) створити за межами Solution, то він компілює не в статичному стані, а в статичному вже не компілює.
Хто може пояснити таку штучку, буду щиро вдячний!
public class Solution {
public static void main(String[] args) throws Exception {
EnglishTranslator englishTranslator = new EnglishTranslator(); //
System.out.println(englishTranslator.translate());
}
public static abstract class Translator {
public abstract String getLanguage();
public String translate() {
return "Я переводчик с " + getLanguage();
}
}
static class EnglishTranslator extends Translator{
@Override
public String getLanguage(){
return "английского";
}
}
}
/*class EnglishTranslator extends Solution.Translator {
@Override
public String getLanguage(){
return "английского";
}
}*/