@Den4_x

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

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

class SubMath extends Math{
    Math.PI; // выдает ошибку
}
  • Вопрос задан
  • 101 просмотр
Решения вопроса 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
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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