Задать вопрос
@Den4_x

Почему при наследовании класса не могу увидеть переменную, хотя она с модификатором protected?

class Math{
       protected static final double PI = 3.14;       
}

class SubMath extends Math{
    Math.PI; // выдает ошибку
}
  • Вопрос задан
  • 108 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Java-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Java-разработчик
    14 месяцев
    Далее
  • Нетология
    Java-разработчик с нуля
    12 месяцев
    Далее
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Потому что в теле класса могут быть только объявления, а инструкции должны быть только в теле методов.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@user49981
нельзя испоьзовать 3.14 как переменную
class SubMath extends Math{
    3.14 // выдает ошибку
}

class Math{
       protected static final double PI = 3.14;       
}

class SubMath extends Math {
    public static double pi() {
        return Math.PI; // 3.14
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы