public static abstract class Translator {
        public abstract String getLanguage();

        public String translate() {
            return "Я переводчик с " + getLanguage();
        }
    }
    public static class EnglishTranslator extends Translator{
        @Override
        public String getLanguage() {
            return "английского";
        }
    }
например тут без слова override программа прокомпилировалась бы, и делала бы тоже самое неужели это просто для других программистов нужно писать?