2015 экзамен ответы вариант 2 (1161200), страница 2
Текст из файла (страница 2)
Объясните, из-за чего она выдаетсяи что нужно добавить в программу, не меняя ничего в классе С, чтобы данный файлтранслировался без ошибок? Можно только добавлять конструкции в программу, но неисключать.ОтветВ классе D создается объект некоторого локального анонимного класса — наследникакласса С. Так как класс С — абстрактный, то при описании наследника нужно заместитьабстрактный метод. Поскольку при создании объекта ВСЕГДА должен вызыватьсяконструктор (единственное исключение — клонирование объекта, но это здесь не причем), то нужно указать, какой именно конструктор вызывается — у локальногоанонимного класса из примера есть только сгенерированный конструктор умолчания безпараметров. Так что надо просто вставить пустые скобки, сигнализирующие вызовконструктора умолчания.
Почему-то это надо делать сразу после имени базового класса дофигурных скобок:C c = new C (){ public int f() { return 1; }};Задача 1-8При ответе на эту задачу следует иметь ввиду то, что в Java приватные функции незамещаются в производных классах, так как они невидимы в них (см. также ответ навопрос №8 из первого варианта).
Поэтому приватная функция f4не будет замещаться впроизводных классах (неважно, замещается она публичной или приватной функцией —все равно не видна!). Все осталбные функции видны внутри пакета и впроизводномклассе, поэтому они замещаеются.Что будет напечатано в результате работы следующей программы на Java?package P1;public class T {public static void main (String [] args) { new CC().show(); }}public abstract class AC {public static final void print(String s) { System.out.println(s);}public void f1() { print("AC.f1");}void f2() { print("AC.f2");}protected void f3() { print("AC.f3");}private void f4() { print("AC.f4");}public final void show() { f1();f2();f3();f4();}}class CC extends AC {public void f1() { print("CC.f1");}public void f2() { print("CC.f2");}public void f3() { print("CC.f3");}public void f4() { print("CC.f4");}}ОтветCC.f1CC.f2CC.f3AC.f4.