Нанимаем переводчика

  • 7
  • Недоступна
В этой задачке вам предстоит создать наследника «просто какого-то переводчика», который будет знатоком английского EnglishTranslator. Точнее, в рамках этой задачи он не будет ничего переводить, зато будет сообщать о том, с каким иностранным языком он работает.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (18)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
UnNameD16 уровень, Москва
12 декабря 2018, 15:41
Так и не понял, почему класс EnglishTranslator должен быть static, почему без этого модификатора мы не можем создать экземляр этого класса?
Александр22 уровень, Казань
13 февраля, 12:25
Максим Василенко13 уровень, Киев
12 часов назад
Метод main статический, а как ты в статическом методе вызовешь создание объекта нестатического класса?
Evgeny Shvets16 уровень
14 сентября 2018, 09:16
еще одна задача из разряда "лишь бы чем нибудь занять и потянуть время" унаследовали, реализовали, вывели на экран я преводчик с анлияского...или чето другое...нафиг этот гемор с возвратами мне не понятно
Fake20 уровень
21 февраля 2018, 01:32
Почему класс EnglishTranslator должен быть static? мы же работаем через обьект этого класса. Обьясните пожалуйста:)
Bator32 уровень, Москва
26 марта 2018, 16:20
Тот же вопрос.
Артем28 уровень, Минск
8 апреля 2018, 11:28
Объект статического внутреннего класса может создаваться без создания объекта внешнего нетстаического класса
Anonymous #114120315 уровень, Ivanovo
29 ноября 2017, 10:50
почему не прохлдит валидацию, ктонибудь подскжает?
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();
        }
    }

    private static class EnglishTranslator extends Translator {
        @Override
        public String getLanguage() {
            return "английского";
        }
    }
}
30 ноября 2017, 16:41
Сделал вот так, сработало.
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();
        }
    }
    public static class EnglishTranslator extends Translator {
        private String str = "английского";
        public String getLanguage(){
            return this.str;
        };

    }

}
Рустам Сафин16 уровень, Казань
30 ноября 2017, 20:46
3. В классе EnglishTranslator должны быть реализованы все унаследованные от класса Translator абстрактные методы. Ключевая фраза "все унаследованные абстрактные методы", т.е. два, а не один.
public static class EnglishTranslator extends Translator{

 @Override
        public String getLanguage() {
            return "английского";
        }

        @Override
        public String translate() {
            return super.translate();
        }
    }
Java15 уровень
7 декабря 2017, 20:35
1 там 1 абстрактний метод второй нет так что 1 а не 2
Рустам Сафин16 уровень, Казань
8 декабря 2017, 20:09
если в классе вдруг появляется абстрактный метод, то сам класс становится абстрактным, а его наследник обязан переопределить все его методы, иначе наследник тоже станет абстрактным. https://javarush.ru/quests/lectures/questcore.level02.lecture05 Значит все-таки 2 метода
Electra23 уровень
26 декабря 2017, 20:01
Продолжение той лекции: " Если в классе есть хотя-бы один нереализованный метод, объявленный прямо в нем или унаследованный от класса-родителя, то класс считается абстрактным." Нужно переопределить только нереализованный метод. Компиляция прекрасно проходит.
Barlogz20 уровень, Киев
20 февраля 2018, 12:03
не проходит из-за "private" static class EnglishTranslator валидатору нужен public
Ильяс35 уровень, Москва
27 октября 2017, 08:44
Я вот одного не понимаю. В лекциях говориться что статики не наследуются. Тогда нафига Translate является и abstract и static
Khagnar29 уровень, Санкт-Петербург
1 апреля 2018, 20:37
ты разобрался в этом вопросе?
Ярослав35 уровень
28 мая 2018, 18:43
Бегло погуглил, нигде не нашел инфы о том, что статический класс в Java нельзя наследовать ...
Gagarin28 уровень, Санкт-Петербург
5 июня 2018, 21:04
в лекциях говорилось что статичные методы не наследуются, а не классы, вероятно перепутали.