Работа вам нужна срочно. Не волнуйтесь, уложимся!
- 22423 авторов готовы помочь тебе.
- 2402 онлайн
Предмет: Программирование (Java).
Раздел: Интерфейсы.
Нам предложено выяснить, какой будет результат компиляции и выполнения данного кода.
Inf1 объявлена целочисленная переменная a как int a = 10;.
final static, а значит, их значение изменять нельзя после инициализации.Inf2 расширяет (extends) интерфейс Inf1. Это допустимо, потому что интерфейсы могут наследовать друг друга.Test_2 реализует интерфейс Inf2, что также допустимо. Реализация интерфейсов требует обязательного переопределения всех методов интерфейсов, что и сделано.method1() и method2(), где выполняется операция:
a = a + 1;
или
a = a + 2;
Здесь происходит попытка изменить значение переменной a, но, как мы уже выяснили, все переменные интерфейсов являются final по умолчанию, и их значение изменить нельзя.
Поэтому на этапе компиляции возникнет ошибка, потому что нарушено правило, согласно которому переменные интерфейсов являются неизменяемыми (final).
Ошибка компиляции, т.к. нельзя изменить значение переменной a, все поля в интерфейсах объявлены по умолчанию final.