Главная / Программирование / Java: ООП и классы

Java: ООП и классы - ответы на тесты Интуит

Правильные ответы выделены зелёным цветом.
Все ответы: Проверка уровня теоретических знаний синтаксиса и семантики языка, обеспечивающих поддержку объектно-ориентированного подхода, а также практических навыков их использования в программах при создании собственных классов.
Укажите, какие из перечисленных конструкций содержат в себе вызов метода некоторого класса?
(1) s.square = 55;
(2) s.square(5, 12);
(3) System.out.println(s.square);
(4) int sq = s.square;
(5) ни в одном из вышеперечисленных
К каким компонентам класса применима перегрузка в Java-программах?
(1) к методам и переменным класса
(2) к методам и конструкторам класса
(3) к конструкторам и переменным класса
(4) только к методам класса
(5) только к конструкторам класса
(6) только к переменным
Что будет выведено на экран в результате работы следующего фрагмента программы? class Square { int s (int a, int b) { return a * b; } double s (double a, double b) { return a * b ; } } public class MyClass { public static void main (String args[]) { Square x = new Square(); int a = 1; double b = 2; System.out.print(x.s(a, b+a) + x.s(a++, a)); ...
(1) 31
(2) 32
(3) 3.02
(4) 5.0
(5) 3.0 + 1
В классе Vector, описывающем отрезок на плоскости - две компоненты типа double: радиус - r и угол наклона - fi. Какие из перечисленных конструкторов недопустимы в описании класса Vector?
(1) Vector() { r = 0; fi = 0; }
(2) public static Vector (short x, short y) { r = x; fi = y; }
(3) Vector (double x, double y) { r = x; fi = y; }
(4) Vector (int x) { r = x; fi = 0.0; }
(5) static constructor Vector () { r = 0; fi = 0; }
Укажите все варианты кода, которыми могут быть добавлены в пятую строку программы, чтобы вычисление площади круга производилось корректно? 1 class Square { 2 final double PI = 3.14; 3 double r; 4 double s (){ 5 ... 6 } 7 ...
(1) return final.PI * r * r;
(2) return final.PI * this.r * this.r;
(3) return PI * this.r * this.r;
(4) return PI * r * r;
(5) фрагмент содержит синтаксические ошибки
Какие из перечисленных методов класса A являются перегруженными?
(1) void method (int a, double b, int c)
(2) int method ()
(3) void method (int a, boolean b, int c)
(4) char method (char ch, double q)
(5) все вышеперечисленные
Что будет выведено на экран операцией печати в седьмой строке следующего фрагмента программы, если известно, что при создании объекта x использовался конструктор по умолчанию? 1 class A { 2 int x=0; 3 int y=0; 4 A() { x = 1; } 5 } 6 ... 7 System.out.print(x.x + " " + x.y); 8 ...
(1) 0 0
(2) 1 0
(3) сообщение об ошибке
(4) 1
(5) ничего
В программе описан класс: class A { int x; int y; } Что будет выведено на экран в результате выполнения следующего фрагмента программы? A x = new A(); System.out.print(x.x + " " + x.y);
(1) nullnull
(2) 00
(3) 0 0
(4) 0
(5) программа завершится ошибкой
В классе A некоторые переменные объявлены с модификатором static. Какие из нижеперечисленных утверждений верны?
(1) к этим переменным можно обращаться только через объект класса A
(2) к этим переменным можно обращаться независимо от объектов класса A
(3) эти переменные совместно используются всеми экземплярами класса A
(4) эти переменные не доступны через объекты класса A, а изменяются только внутри методов класса A
(5) все вышеперечисленные варианты не верны
Что будет выведено на экран в результате выполнения следующего фрагмента программы? class A { public static char i = 'a'; A() { i ++; } } ... A x = new A(); System.out.print(x.i); A y = new A(); System.out.print(x.i++); System.out.print(y.i); ...
(1) abc
(2) bcd
(3) bbc
(4) bcc
(5) выполнение программы приведет к ошибке
Какие из перечисленных компонентов класса А будут доступны расширяющему его классу в том же пакете?
(1) static int a;
(2) protected double getPrice(double pr, double extra)
(3) private char showChar(int num)
(4) protected byte number;
(5) boolean flag;
В программе приведено следующее описание метода showDate() класса Date: abstract void showDate(String str);. Какие нижеперечисленные фрагменты кода допустимы?
(1) abstract class Date {
(2) Date obj = new Date();
(3) class A extends Date { void showDate(String str) { System.out.println(str); } }
(4) class A extends Date { String strDate; void getDate(String str) { strDate = str; } }
Что будет выведено на экран в результате выполнения следующего фрагмента программы? class A { … } class B extends A{ … } class C extends B { … } public class MyClass { public static void main (String args[]) { A x1 = new A(); B x2 = new B(); C x3 = new C(); x1 = x3; x2 = x3; System.out.println(!x1.equals(x2)); } }
(1) ничего
(2) true
(3) false
(4) 1
(5) 0
Какое из перечисленных утверждений верное?
(1) в классе-наследнике могут быть переопределены любые методы класса-родителя
(2) в классе-наследнике могут быть переопределены только методы класса-родителя, не отмеченные модификаторами final static
(3) в классе-наследнике могут быть переопределены только методы класса-родителя, не отмеченные модификаторами private final static
(4) в классе-наследнике могут быть переопределены только методы класса-родителя, не отмеченные модификатором private
(5) в классе-наследнике могут быть переопределены только методы класса-родителя, не отмеченные модификаторами private static
В программе приведено следующее описание: 1 class A { 2 int a; 3 int b; 4 } 5 class B extends A{ 6 int b; 7 ... 8 } Каким кодом необходимо дополнить описание конструктора класса B, наследующего класс A, чтобы при создании объкта класса B, переменные класса A принимали знаничение 1?
(1) a.A = b.A = 1;
(2) super.a=1; super.b = 1;
(3) A.a = 1; A.b = 1;
(4) sup.a = 1; sup.b = 1;
(5) a.super() = 1; b.super() = 1;
В программе приведено следующее описание: 1 class A { 2 int a ; 3 A(int x){ 4 a = x; 5 } 6 } 7 class B extends A { 8 int b; 9 B(int x){ 10 super(x); 11 b = x; 12 } 13 } Выполнение программы завершилось ошибкой. Какое изменение необходимо внести, чтобы исключить ошибку?
(1) модификаторы доступа классов A и B необходимо установить public
(2) строку 10 следует заменить на: super.A();
(3) строку 10 следует заменить на: A(x);
(4) строку 10 следует заменить на: sup();
(5) никаких изменений вносить не нужно, так как ошибок нет
Какой из перечисленных методов является переопределением метода public int[] inverse (int ar[], int size) класса родителя?
(1) public int inverse (int a, int b)
(2) public int inverse (double a[], double size)
(3) public int[] method (int ar[], int size)
(4) public int[] inverse (int arr[], int arSize)
(5) protected int[] inverse (int arr[], int arSize)
(6) ни один из вышеперечсиленных
Какой метод класса A нельзя будет переопределить в классах наследниках в том же пакете?
(1) static int arrayLength(double arr[])
(2) final double arrayAverage(double arr[])
(3) private void arraySort(char arr[])
(4) void arrayReverse(double arr[])
(5) ни один из вышеперечисленных
Что послужило причиной ошибки компиляции нижеследующего фрагмента программы? class A { double r1; void show (){ System.out.print(r1); } } class B extends A{ double r1; int show(String message){ System.out.print(message); return 0; } } class C extends B { int a; int q; ... }
(1) класс B не может быть наследником какого-либо класса
(2) в классе B не может быть переопределен метод show()
(3) в классе B не может быть перегружен метод show()
(4) классы A и B не могут содержать переменную с одинаковым именем
(5) программа отработает без ошибок
Что будет выведено на экран в результате работы следующего фрагмента программы? class A { int a ; public void show (){ System.out.print(a++); } A(int x){ a = --x; } } class B extends A { int a; public void show (){ super.show(); } B(int x){ super(x++); a = x; } } ... B x = new B(4); x.show();
(1) 5
(2) 44
(3) 3
(4) 4
(5) сообщение об ошибке
Какое пространство имен для хранения классов пакета определяет следующая инструкция: package mypackage.users.administrators.files;?
(1) files
(2) mypackage.files
(3) users.administrators.files
(4) administrators.files
(5) mypackage.users.administrators.files
Класс A неполностью реализует методы интерфейса B, каким образом он должен быть определен?
(1) как final-класс
(2) как внутренний для другого класса
(3) как abstract-класс
(4) как private-класс
(5) как интерфейс
В какой переменной окружения хранятся несколько корневых каталогов иерархии пакетов в файловой системе компьютера?
(1) PACKAGEROOT
(2) CLASSPATH
(3) ROOT
(4) CLASSROOT
(5) PACKAGEPATH
Какие переменные класса А доступны его наследнику классу B, если они определены в одном пакете? 1 class A { 2 final int a = 5; 3 protected double c ; 4 protected int q; 5 private int j; 6 } 7 class B extends A{ 8 int c ; 9 B(int b1, int b2) { 10 super(); 11 c = b1; 12 } 13 }
(1) a
(2) a, j
(3) c, q
(4) a,c,q
(5) j
Класс А наследует класс B из пакета newpack. Каким кодом необходимо дополнить строку 1 следующего фрагмента программы, чтобы она выполнилась без ошибок? 1 ... 2 class A extends B { 3 int a, b; 4 void show () { 5 System.out.print(a); 6 System.out.print(b); 7 } 8 }
(1) import java.newpack.*;
(2) class A extends java.newpack.* {
(3) class A extends java.newpack.B {
(4) class A extends B.newpack.java {
(5) import java.newpack.B;
Укажите, какие методы должны быть реализованы в классе C? interface A { double aMethod1(); void aMethod2(); } interface B extends A { int bMethod1(); } class C implements B { ... } Какие методы должны быть описаны в С?
(1) aMethod1()
(2) bMethod1()
(3) aMethod2()
(4) никакие
(5) те, которые нужно реализовать для использованя в классе C
Какие из перечисленных заголовков класса допустимы?
(1) class A extends B, C {
(2) final class A {
(3) abstract final class A {
(4) abstract final class A implements B {
(5) class A implements B, C {
Компиляция программы завершилась ошибкой. Какие изменения могут быть внесены в код для ее устранения? interface A{ void aMethod1(); void aMethod2(); } interface B extends A{ void bMethod3(); } class C implements B{ int cVar1; double cVar2; public void bMethod3(){ cVar1 = 0; } }
(1) в тело класса C необходимо внести реализации методов aMethod1() и aMethod2()
(2) класс C необходимо описать как абстрактный
(3) класс C необходимо описать как абстрактный и в его тело необходимо внести реализации методов aMethod1() и aMethod2()
(4) в тело интерфейса B необходимо внести реализации методов aMethod1() и aMethod2()
(5) никаких измененений вносить не нужно
Как необходимо изменить программу, чтобы доступ к элементам класса A не имели даже его прямые наследники внутри и вне пакета newpack? 1 package newpack; 2 class A { 3 int a, b; 4 void sum () { 5 System.out.print(a + b); 6 } 7 } 8 class B extends A{ 9 ... 10 } 11 ...
(1) описать A с модификатором доступа public
(2) описать все элементы A с модификатором доступа private, а сам A с модификатором по умолчанию
(3) описать все элементы A с модификатором доступа private, а сам A с модификатором public
(4) описать все элементы A с модификатором доступа public и сам A c модификатором доступа public
(5) описать A c модификатором доступа private
При выполении программы было выдано сообщение об ошибке. Какие изменения необходимо внести в код? interface A { double PI = 3.14; double G = 9.8; void method1(); int method2(); void method3(int a); } abstract class B implements A { double F (double m) { return G * m; } void method1() {... } int method2() { ... } }
(1) необходимо реализовать все методы A
(2) B должен быть унаследован от A
(3) method1() должен быть при реализации описан как public
(4) method2() должен быть при реализации описан как public
(5) B должен содержать хотя бы один конструктор
Подклассами какого встроенного класса являются все типы исключений в Java?
(1) Exception
(2) RuntimeException
(3) Throwable
(4) Error
(5) Exceptions
Что будет выведено на экран в результате работы следующего фрагмента программы? int i = 4; while(i < 5) { try { if (i>=2) System.out.print(12 / i); else { System.out.print(6 / i++); throw new ArithmeticException("newEx"); } } catch (ArithmeticException e) { System.out.print("0"); break; } i--; }
(1) сообщение об ошибке
(2) 3460
(3) 346610
(4) 34660
(5) 34661
Укажите, какие из приведенных утверждений относительно исключений в Java-программах верны?
(1) перехват и обработку исключений осуществляют блоки catch
(2) перехват исключений осуществляет блок try, а обработку блок catch
(3) блок try может выбросить исключение
(4) любой код, который должен быть выполнен перед возвратом из блока try, размещается в блоке finally
(5) для ручного выброса исключения используется ключевое слово throws
Что будет выведено на экран в результате работы следующего фрагмента программы? int a = 35, i = 0; while (i < 3) { try { System.out.print(42 / a); } catch (ArithmeticException e) { System.out.print(42 / 2); } finally { System.out.print(42 / 1); } a -=7 ; i++; }
(1) 123
(2) 142142142
(3) 142142242
(4) 421422423
(5) будет выдано сообщение об ошибке
Какими начальными значениями должны быть проинициированы переменные a и i, чтобы следующий фрагмент кода выводил на экран последовательность 1123621? while (i < 6) { try { System.out.print(42 / a); } catch (ArithmeticException e) { System.out.print(42 / 2); } a -=7 ; i++; }
(1) int a = 42, i = -1;
(2) int a = 42, i = 0;
(3) int a = 42, i = 1;
(4) int a = 35, i = 0;
(5) int a = 35, i = -1;
Что будет выведенo на экран в результате работы следующего фрагмента программы? int i = 0; while (i < 4) { System.out.print(i); if (i >= 2) try { throw new ArithmeticException ("ex"); } catch (ArithmeticException e) { System.out.print(i); break; } i++; }
(1) 01
(2) 012
(3) 0112
(4) 0122
(5) будет выдано сообщение об ошибке
Какие типы исключений перечисляются после ключевого слова throws?
(1) типы исключений, которые метод обрабатывает
(2) типы исключений, которые метод порождает, но не обрабатывает
(3) типы исключений, которые метод порождает и обрабатывает
(4) типы исключений, порождаемых виртуальной машиной
(5) вышеперечисленные утверждения неверны
Следующий фрагмент программы завершился ошибкой. Какие изменения можно сделать, чтобы программа отработала без ошибок? 1 int i = 5; 2 while (i > 2 ) { 3 System.out.print(i); 4 if (i < 4) 5 try { throw new ArithmeticException ("ex"); } 6 finally { System.out.print(i); } 7 catch (ArithmeticException e) { 8 System.out.print(i); 9 break; 10 } 11 i--; 12 }
(1) блок catch необходимо удалить
(2) оператор из строки 3 необходимо перенести в строку 11
(3) блок finally необходимо перенести под блок catch
(4) в строке 5 вместо throw необходимо использовать throws
(5) никаких изменений вносить не нужно
Какие утверждения относительно блока catch верны?
(1) как только блок try выбрасывает исключение, управление передается в блок catch
(2) содержимое блоков catch выполняется даже, если в блоке try не выброшено исключение
(3) в блоке catch указывается тип исключения, которое он перехватывает
(4) если необходимо перехватить несколько исключений из одной иерархии блоки catchдолжны идти по порядку от младшего исключения к старшему
(5) блок catch не обрабатывает исключения выброшенные вручную с помощью ключевого слова throw
Каким может быть заголовок метода methods(), содержащего нижеприведенный программный код, чтобы вызывающая его программа могла корректно обрабатывать исключительные ситуации? if (i == 0) throw new ClassCastException("first"); if (i == 2) throw new ClassNotFoundException("second");
(1) void methods () throws ClassCastException, ClassNotFoundException
(2) void methods () throw ClassCastException, ClassNotFoundException
(3) private int methods () throws Exception
(4) public int methods () throw ClassCastException, Exception
(5) void methods () throws Exception, ClassNotFoundException
Укажите, какие из перечисленных конструкций содержат в себе вызов метода некоторого класса?
(1) s.square = 55;
(2) s.square(5, 12);
(3) System.out.println(s.square);
(4) sq = s.square(5,7);
(5) ни в одном из вышеперечисленных
Какие методы являются перегруженными в Java-программе?
(1) методы, имеющие разные имена, но одинаковое число и типы параметров
(2) методы, имеющие одно имя, но разное число параметров одного типа
(3) методы, имеющие одно имя и одинаковое число параметров одного типа
(4) методы, имеющие разные имена, но с совпадающими именами параметров
(5) никакие из вышеперечисленных
Что будет выведено на экран в результате работы следующей программы? class Square { int s (int a, int b) { return a * b; } void s (double a, double b) { return a * b ; } } public class MyClass { public static void main (String args[]) { Square x = new Square(); int a = 1; double b = 2; System.out.print(x.s(a, b+a) + x.s(a++, a)); ...
(1) 31
(2) 32
(3) 3.02
(4) 5.0
(5) программа завершится ошибкой
Какие из указанных конструкторов могут быть добавлены в описание класса А? class A { char ch; int digit; }
(1) A(int charCode){ ch = charCode; digit = charCode; }
(2) A (int charCode){ ch = digit = charCode; }
(3) A (char ch, short digit) { ch = digit; digit = ch; }
(4) A (char ch, int digit){ this.ch = ch; this.digit = digit; }
(5) A (char character) { this.digit = this.ch = character; }
Укажите все варианты кода, которыми может быть дополнена пятая строка программы, чтобы приведенный фрагмент кода отрабатывал без ошибок? 1 class A { 2 int p; 3 int q; 4 A (int digit) { 5 ... 6 q = 2 * p * digit; 7 } 8 ...
(1) this.p = digit;
(2) digit = p;
(3) p = 0;
(4) this.p = 0;
(5) this.digit = 2
Какой из перечисленных конструкторов класса A является перегруженным уже существующего конструктора в A? class A { char ch; int digit; A () { ch = 'a'; digit = 32; } }
(1) все
(2) никакие
(3) A (char ch, short digit) { ch = digit; digit = ch; }
(4) A (char ch, int digit){ this.ch = ch; this.digit = digit; }
(5) A(int charCode){ digit = charCode; }
Что будет выведено на экран операцией печати в седьмой строке следующего фрагмента программы, если известно, что при создании объекта x использовался конструктор по умолчанию? 1 class A { 2 int x; 3 int y=0; 4 A() { y = 1; } 5 } 6 ... 7 System.out.print(x.x + " " + x.y); 8 ...
(1) 0 0
(2) 1 0
(3) сообщение об ошибке
(4) 0 1
(5) ничего
В программе описан класс: class A { int x=0; int y; } Что будет выведено на экран в результате выполнения следующего фрагмента программы? A x = new A(); System.out.print(x.x + x.y);
(1) nullnull
(2) 00
(3) 0 0
(4) 0
(5) программа завершится ошибкой
В классе A некоторые методы объявлены с модификатором static. Какие из нижеперечисленных утверждений верны?
(1) эти методы могут вызывать только другие статические методы
(2) эти методы могут быть вызваны только экземплярами класса A
(3) эти методы должны обращаться только к статическим данным
(4) эти методы могут быть вызваны до того, как будут созданы какие либо экзмепляры класс A
(5) все вышеперечисленные утверждения верны
Что будет выведено на экран в результате выполнения следующего фрагмента программы? class A { public static int a = 0; A() { a++; } } ... A x = new A(); A y = new A(); for (int i=0; i< 5; i++) if (i % 2 == 0) System.out.print(x.a); else System.out.print(y.a++);
(1) 00112
(2) 01122
(3) 12233
(4) 23344
(5) 22334
Какой из перечисленных компонентов класса А не будет доступен расширяющему его классу в другом пакете?
(1) static int a;
(2) protected double getPrice(double pr, double extra)
(3) private char showChar(int num)
(4) protected byte number;
(5) boolean flag;
В программе приведено следующее описание: abstract class A { abstract void method (int a, int b); } class B extends A { int x; int y; void method (int a, int b) { x = a; y = b; } } Какие нижеперечисленные фрагменты кода допустимы?
(1) A x = new A() ; B y = new B(); x = y;
(2) A x ; B y = new B(); x = y;
(3) A x = new B();
(4) A x = new A(); x = new B();
(5) ни один из вышеперечисленных
Что будет выведено на экран в результате выполнения следующего фрагмента программы? class A { … } class B extends A{ … } class C extends B { … } public class MyClass { public static void main (String args[]) { A x1 = new A(); B x2 = new B(); C x3 = new C(); x1 = x3; x2 = x3; System.out.println(x1.getClass()); } }
(1) ничего
(2) class A
(3) class C
(4) class B
(5) сообщение об ошибке
Какие из перечисленных утверждений верны?
(1) не может быть унаследован класс, объявленный как abstract
(2) не может быть унаследован класс, объявленный как final
(3) не может быть унаследован внутренний класс
(4) не может быть унаследован класс, являющийся наследником абстрактного класса
(5) ни одно из перечисленных утверждений не верно
В программе приведено следующее описание: 1 class A { 2 int a; 3 int b; 4 } Каким кодом необходимо дополнить описание конструктора класса B, наследующего класс A, чтобы при создании объкта класса B, переменные класса A принимали знаничение 1?
(1) a.A = b.A = 1;
(2) super.a=1; super.b = 1;
(3) super.a = super.b = 1;
(4) sup.a = 1; sup.b = 1;
(5) a.super() = 1; b.super() = 1;
В программе приведено следующее описание: 1 class A { 2 double a; 3 double b; 4 } 5 class B extends A { 6 double c; 7 B(double p, double q, double v){ 8 super(p,q); 9 c = v; 10 } 11 } Выполнение программы завершилось ошибкой. Какие изменения необходимо включить в текст программы, чтобы исключить ошибку?
(1) в описание A добавить конструктор с тремя параметрами типа double
(2) в описание A добавить конструктор с двумя параметрами типа double
(3) в описание класса B добавить метод super() с двумя параметрами типа double
Какие из перечисленных методов являются переопределением метода public int[] inverse (int ar[], int size) класса родителя?
(1) public int inverse (int a, int b)
(2) public int[] inverse (double a[], double size)
(3) public int[] inverse (int a, int b)
(4) public int[] inverse (int x[], int y)
(5) public int[] inverse (int arr[])
(6) ни один из вышеперечсиленных
Какие методы класса A можно будет переопределить в классах наследниках в другом пакете?
(1) static int arrayLength(double arr[])
(2) final double arrayAverage(double arr[])
(3) private void arraySort(char arr[])
(4) void arrayReverse(double arr[])
(5) ни один из вышеперечисленных
Что послужило причиной ошибки компиляции нижеследующего фрагмента программы? class A { double r; final void show (){ ... } } class B extends A{ double r1; final int show(){ ... } } class C extends B { double show(int val) { ... } }
(1) класс B не может быть наследником какого-либо класса
(2) в классе B не может быть переопределен метод show()
(3) в классе B у метода show() должно быть несколько аргументов или один не типа int
(4) в классе C не может быть переопределен метод show()
(5) в классе C не может быть перегружен метод show()
Что будет выведено на экран в результате работы следующего фрагмента программы? class A { public static int a ; public void show (){ System.out.print(a++); } A(int x){ a = --x; } } class B extends A { int a; public void show (){ super.show(); } B(int x){ super(++x); a = x; } } ... B x = new B(4); x.show();
(1) 5
(2) 44
(3) 3
(4) 4
(5) сообщение об ошибке
Какой каталог в файловой системе операционной системы Windows, соответсвует пакету, объявленному, как: package mypackage.users.administrators.files;?
(1) mypackage\users\administrators\files\
(2) users\administrators\files\
(3) mypackage\
(4) administrators\files\
(5) files\
Внутри объявления интерфейса A объявлены и инициализированы постоянными значениями переменные, какие спецификаторы доступа будут присвоены им по умолчанию?
(1) public
(2) public static
(3) public final static
(4) final static
(5) private
Укажите, какое значение, имеет символ '*' в инструкции: import java.newpackage.*?
(1) в программу должны быть подключены все пакеты, стоящие по иерархии ниже, чем newpackage
(2) в программу должен быть подключен весь пакет newpackage за исключением пакетов, стоящих по иерархии ниже
(3) программа должна игнорировать ошибку, если пакет newpackage не существует
(4) 1) и 2) верно
(5) все перечисленные предложения неверны
Какие переменные класса А доступны его наследнику классу B, если они определены в одном пакете? 1 class A { 2 public char ch= 'a'; 3 protected short charCode; 4 protected short charCodeFin; 5 private int j; 6 int d; 7 }
(1) ch
(2) ch, j, d
(3) charCode, charCodeFin
(4) ch,charCode,charCodeFin, d
(5) j
Класс А наследует класс B из пакета userspack. Как необходимо изменить программу, чтобы она выполнялась без ошибок? 1 class A extends B { 2 ... 3 }
(1) перед строкой 1 добавить import java.userspack.*;
(2) перед строкой 1 добавить import java.userspack.B;
(3) строку 1 заменить на class A extends java.userspack.* {
(4) строку 1 заменить на class A extends java.userspack.B {
(5) изменения вносить не нужно
Укажите, какой метод должен быть реализован в классе C? interface A { double aMethod1(); void aMethod2(); } interface B extends A { int bMethod1(); } abstract class C implements B { ... }
(1) aMethod1()
(2) bMethod1()
(3) aMethod2()
(4) aMethod1(), aMethod2()
(5) те, которые нужно реализовать для использованя в классе C
Какие из перечисленных заголовков класса допустимы?
(1) final class A implements B, C
(2) abstract final class A extends B
(3) class A implements B
(4) abstract class A implements B, C
(5) final class A
Компиляция программы завершилась ошибкой. Какое изменение может быть внесено в код для ее устранения? interface A{ void aMethod1(); void aMethod2(); } interface B extends A{ void bMethod3(); } abstract class C implements B{ int cVar1; void bMethod3(){ cVar1 = 0; } }
(1) в тело класса C необходимо внести реализации методов aMethod1() и aMethod2()
(2) метод bMethod3() при реализации должен быть описан как public
(3) метод bMethod3() при реализации должне быть описан как public static
(4) убрать метод bMethod3() из класса C
(5) никаких измененений вносить не нужно
Как необходимо изменить программу, чтобы доступ к элементам класса A имели только классы и элементы того же пакета newpack? 1 package newpack; 2 class A { 3 int a, b; 4 void sum () { 5 System.out.print(a + b); 6 } 7 } 8 class B extends A{ 9 ... 10 } 11 ...
(1) описать A с модификатором доступа public
(2) описать все элементы A с модификатором доступа protected, а сам A с модификатором private
(3) описать A c модификатором доступа protected
(4) описать все элементы A с модификатором доступа public и сам A c модификатором доступа public
(5) оставить без изменений
При выполении программы было выдано сообщение об ошибке. Какие изменения необходимо внести в код? interface A { char getChar(int Code); int getCode(char Character); void show(); } class B implements A { char character; int charCode; char getChar(int Code) { ... } public int getCode(char Character) { ... } public void show(char ch) { ... } }
(1) необходимо реализовать все методы A
(2) B должен быть унаследован от A
(3) метод getChar() должен быть при реализации описан как public
(4) getKode() не может быть при реализации описан как public
(5) B должен содержать хотя бы один конструктор
Какой класс используется для обработки исключительных ситуаций, которые должны перехватываться программами пользователя?
(1) Exception
(2) RuntimeException
(3) Throwable
(4) Error
(5) Exceptions
int a = 8, i = -1; int i = 4; while(i < 5) { try { if (i>=2) System.out.print(12 / i); else { System.out.print(6 / ++i); throw new ArithmeticException("newEx"); } } catch (ArithmeticException e) { System.out.print("0"); break; } i--; }
(1) сообщение об ошибке
(2) 34630
(3) 34610
(4) 34660
(5) 34661
Укажите, какие из приведенных утверждений относительно исключений в Java-программах верны?
(1) перехват и обработку исключений осуществляют блоки catch и finally
(2) перехват исключений осуществляет блок try, а обработку блок catch
(3) блок try может выбросить исключение
(4) любой код, который должен быть выполнен перед возвратом из блока try, размещается в блоке finally
(5) для ручного выброса исключения используется ключевое слово throw
Что будет выведено на экран в результате выполнения следующего фрагмента программы? int a = 12; int i = 4; try { while (i > 0) { System.out.print(a/i); i--; } } finally { System.out.print(i); }
(1) 34612
(2) 346
(3) 346120
(4) 3460
(5) будет выдано сообщение об ошибке
Какими начальными значениями должны быть проинициированы переменные a и i, чтобы следующий фрагмент кода выводил на экран последовательность 5121910? while (i < 4) { try { System.out.print(42 % a); } catch (ArithmeticException e) { System.out.print(42 % 2); } a -=7 ; i++; }
(1) int a = 37, i = -1;
(2) int a = 37, i = 0;
(3) int a = 37, i = 1;
(4) int a = 49, i = 0;
(5) int a = 49, i = -1;
Что будет выведено на экран в результате работы следующего фрагмента программы? for (int i = 0; i < 4; i++) { if (i++ % 2 == 2){ try { throw new ArithmeticException("ex"); } catch (ArithmeticException e) { System.out.print(i); } } else System.out.print(i); }
(1) 0123
(2) 013
(3) 023
(4) 13
(5) 23
Какие из перечисленных утверждений верны?
(1) один блок try может находиться внутри другого блока try
(2) внутри блока try не могут находиться другие блоки try
(3) операторы, которые контролируются блоком try, должны быть окружены фигурными скобками
(4) каждый оператор try требует по крайней мере одного блока catch или finally
(5) внутрь try помещается блок кода для контроля над ошибками этого блока
Следующий фрагмент программы завершился ошибкой. Какие изменения необходимы, чтобы программа выводила на экран последовательность 54333? 1 int i = 5; 2 while (i > 2) { 3 System.out.print(i); 4 if (i < 4) 5 try throw new ArithmeticException ("ex"); 6 catch (ArithmeticException e) { 7 System.out.print(i); 8 break; 9 } 10 finally { System.out.print(i); } 11 i--; 12 }
(1) из строки 8 должен быть убран оператор break;
(2) оператор из строки 1 необходимо перенести под строку 2
(3) блок catch необходимо перенести под блок finally
(4) в строке 5 вместо throw необходимо использовать throws
(5) операторы, относящиеся к блоку try, должны быть заключены в {}
Какие утверждения относительно блока catch верны?
(1) сразу после выполнения блока catch, выполнение программы продолжается со строки, следующей за полной конструкцией try-catch в случае, если в блоке catch не было выброшено новое исключение
(2) сразу после выполнения блока catch, выполнение программы продолжается со строки, следующей за строкой, породившей исключительную ситуацию
(3) блок catch может перехватывать исключения, порожденные блоками try, вложенными в отвечающий ему блок try
(4) блок catch не может перехватывать исключения, порожденные блоками try, вложенными в отвечающий ему блок try
(5) сразу после выполнения блока catch, выполнение программы продолжается со строки, следующей за полной конструкцией try-catch в любом случае
Каким может быть заголовок метода methods(), содержащего нижеприведенный программный код, чтобы вызывающая его программа корректно обрабатывала исключительные ситуации? int i = 0; while (i < 5){ if (i == 0) throw new NullPointerException("first"); if (i == 2) throw new NumberFormatException("second"); i++; }
(1) void methods () throws NullPointerException
(2) void methods () throws NullPointerException, NumberFormatException
(3) private int methods ()throw NullPointerException
(4) public int methods () throws NullPointerException, NumberFormatException
(5) void methods () throws Exception
Укажите, какие из перечисленных конструкций содержат в себе вызов метода некоторого класса?
(1) double l = 2 * Math.PI * r;
(2) double s = Math.PI * r * r;
(3) double r = Math.sqrt(s/Math.PI);
(4) double r = l / (2 * Math.PI);
(5) ни в одном из вышеперечисленных
Какие методы являются перегруженными в смысле Java-программе?
(1) методы, имеющие разные имена, но одинаковое число и типы параметров
(2) методы, имеющие одинаковые имена и разное число параметров одного типа
(3) методы, имеющие одно имя и не более одного параметра произвольного типа
(4) методы, имеющие одинаковые имена и разное число параметров произвольных типов
(5) никакие из вышеперечисленных
Что будет выведено на экран в результате работы следующей программы? class Square { int s (int a, int b) { return a * b; } double s (double a, double b) { return a * b ; } } public class MyClass { public static void main (String args[]) { Square x = new Square(); int a = 1; double b = 2; System.out.print(x.s(a, b+a)); System.out.print(x.s(a++, a)); ...
(1) 31
(2) 32
(3) 3.02
(4) 5.0
(5) 3.0 + 1
Какой из указанных конструкторов может быть добавлен в описание класса А? class A { char ch; int digit; }
(1) A(int charCode){ ch = charCode; digit = charCode; }
(2) A (int charCode){ digit = ch = (char)charCode; }
(3) A (char ch, short digit) { ch = digit; digit = ch; }
(4) A (char ch, int digit){ this.ch = ch; this.digit = digit; }
(5) A (char character) { this.ch = this.digit = character; }
Каким кодом может быть дополнена пятая строка программы, чтобы приведенный фрагмент кода отрабатывал без ошибок? 1 class A { 2 double a; 3 double b; 4 A (int digit) { 5 ... 6 b = 2 * digit / a; 7 } 8 ...
(1) this.a = digit > 0 ? digit : 1;
(2) this.a = 1;
(3) a = 1;
(4) this.a = 0;
(5) this.b = 0
Какие из перечисленных методов класса A являются перегруженными?
(1) void method (int a, double b, int c)
(2) int method ()
(3) char method1 (char ch, double q)
(4) void method (int a, int b, int c)
(5) char method (char ch, double q)
(6) ни один из вышеперечисленных
Что будет выведено на экран операцией печати в седьмой строке следующего фрагмента программы, если известно, что при создании объекта x использовался конструктор по умолчанию? 1 class A { 2 int x; 3 int y=0; 4 A(int a) { y = a; } 5 } 6 ... 7 System.out.print(x.x + " " + x.y); 8 ...
(1) 0
(2) 0 0
(3) сообщение об ошибке
(4) 0 [значение a]
(5) ничего
В программе описан класс: class A { int x=0; int y=0; } Что будет выведено на экран в результате выполнения следующего фрагмента программы? A x ; x = new A(); System.out.print (x.y); System.out.println (x.x);
(1) nullnull
(2) 00
(3) 0
(4) на экран ничего не выведется
(5) программа завершится ошибкой
В классе A некоторые методы объявлены с модификатором static. Какие из нижеперечисленных утверждений неверны?
(1) эти методы могут вызывать только другие статические методы
(2) эти методы могут быть вызваны только экземплярами класса A
(3) эти методы должны обращаться только к статическим данным
(4) эти методы могут быть вызваны после того, как будут созданы какие либо экзмепляры класс A
(5) все вышеперечисленные утверждения верны
Что будет выведено на экран в результате выполнения следующего фрагмента программы? class A { public static int a = 0; A() { a++; } } ... A x = new A(); A y = new A(); int q ; for (int i=0;i< 5; i++) { q=(i>2)?++x.a:y.a++; System.out.print(q); }
(1) 01234
(2) 01345
(3) 23567
(4) 23467
(5) 23478
Какие из перечисленных компонентов класса А будут доступны расширяющему его классу в другом пакете?
(1) private double getCorner (double sinus, double cosinus)
(2) static double sinus;
(3) public static double sinus;
(4) double sinus;
(5) protected double getCorner (double sinus, double cosinus)
В программе приведено следующее описание: abstract class A { abstract void method (int a, int b); } class B extends A { int x; int y; void method (int a, int b) { x = a; y = b; } } Какие нижеперечисленные фрагменты кода недопустимы?
(1) A x = new A() ; B y = new B(); x = y;
(2) A x ; B y = new B(); x = y;
(3) A x = new B();
(4) A x = new A(); x = new B();
(5) все вышеперечисленные
Что будет выведено на экран в результате выполнения следующего фрагмента программы? class A { … } class B extends A{ … } class C extends B { … } public class MyClass { public static void main (String args[]) { A x1 = new A(); B x2 = new B(); C x3 = new C(); x1 = x3; x2 = x3; System.out.println(x1.equals(x2)&&x1.equals(x3)); } }
(1) сообщение об ошибке
(2) true
(3) false
(4) 1
(5) 0
Какие из перечисленных утверждений неверны?
(1) не может быть унаследован класс, объявленный как abstract
(2) не может быть унаследован класс, объявленный как final
(3) не может быть унаследован внутренний класс
(4) не может быть унаследован класс, являющийся наследником абстрактного класса
(5) не может быть унаследован класс, содержащий только private-компоненты
В программе приведено следующее описание: 1 class A { 2 int a; 3 int b; 4 } Каким кодом необходимо дополнить описание конструктора класса B, наследующего класс A, чтобы при создании объкта класса B, переменные класса A принимали знаничение 1?
(1) a.A = b.A = 1;
(2) super().a=1=super().b = 1;
(3) sup.a = 1; sup.b = 1;
(4) super.a = super.b = 1;
(5) a.super() = 1; b.super() = 1;
В программе приведено следующее описание: 1 class A { 2 private int a; 3 } 4 class B extends A { 5 int b; 6 B(){ 7 super(); 8 b = 0; 9 } 10 } Выполнение программы завершилось ошибкой. Какие изменения могут быть внесены для исключения ошибки?
(1) добавить в A описание конструктора без параметров
(2) добавить в B описание метода super() без параметров
(3) изменить модификатор доступа к a на public
(4) никаких изменений вносить не нужно
Какой из перечисленных методов является переопределением метода public int[] inverse (int ar[], int size) класса родителя?
(1) public int inverse (int a, int b)
(2) private int[] inverse (double a[], double size)
(3) public int[] method (int ar[], int size)
(4) public int inverse (int arr[], int arSize)
(5) private int[] inverse (int arr[], int arSize)
(6) ни один из вышеперечсиленных
Какой метод класса A нельзя будет переопределить в классах наследниках?
(1) private static char method1 (int a, char b)
(2) final int method2 (boolean flag)
(3) private int method3 (double arr[])
(4) final int method4 (double a, double b)
(5) все вышеперечисленные
Что послужило причиной ошибки компиляции нижеследующего фрагмента программы? class A { double r1; void show (){ ... } } class B extends A{ double r1; int show(){ ... } } class C extends B { double show() { ... } }
(1) в классе B не может содержаться переменная r1
(2) методы show() во всех трех классах должны иметь одинаковый тип возвращаемого значения
(3) в классе B не может быть перегружен метод show()
(4) в классе C не может быть переопределен метод show()
(5) методы show() во всех трех классах должны отличаться сигнатурой
Что будет выведено на экран в результате работы следующего фрагмента программы? class A { private int a ; public void show (){ System.out.print(a++); } A(int x){ a = x%2==0?--x:x--; } } class B extends A { int a; public void show (){ super.show(); } B(int x){ super(++x); a = x; } } ... B x = new B(4); x.show();
(1) 5
(2) 44
(3) 3
(4) 4
(5) сообщение об ошибке
Какой каталог в файловой системе операционной системы Unix, соответсвует пакету, объявленному, как: package mypackage.users.administrators.files;?
(1) mypackage/
(2) users/administrators/files/
(3) mypackage/users/administrators/files/
(4) administrators/files/
(5) files/
Какой спецификатор доступа присваивается всем методам и переменным интерфейса по умолчанию?
(1) public
(2) protected
(3) static
(4) final
(5) private
(6) ни один из вышеперчисленных
Был импортирован некоторый пакет. Классы с каким модификатором доступа будут доступны в коде?
(1) не отмеченные никакими модификаторами
(2) любые
(3) public
(4) private
(5) protected
Какие переменные класса А доступны его наследнику классу B, если они определены не в одном пакете? 1 class A { 2 public char ch= 'a'; 3 protected short charCode; 4 protected short charCodeFin; 5 private int j; 6 int d; 7 }
(1) ch
(2) ch, j
(3) ch, charCode, charCodeFin
(4) ch,charCode,charCodeFin, d
(5) j
Класс А наследует класс B и использует отдельные компоненты других классов из пакета userspack. Как необходимо изменить программу, чтобы она выполнялась без ошибок? 1 class A extends B { 2 ... 3 }
(1) перед строкой 1 добавить import java.userspack.*;
(2) перед строкой 1 добавить import java.userspack.B;
(3) строку 1 заменить на class A extends java.userspack.* {
(4) строку 1 заменить на class A extends java.userspack.B {
(5) изменения вносить не нужно
Укажите, какие методы должны быть реализованы в классе D? interface A { double aMethod1(); void aMethod2(); } interface B extends A { int bMethod1(); } abstract class C implements B { double aMethod1() { ... } int bMethod1() { ... } } class D extends C { ... }
(1) aMethod1()
(2) bMethod1()
(3) aMethod2()
(4) никакие
(5) те, которые нужно реализовать для использованя в классе C
Какие из перечисленных заголовков класса допустимы?
(1) abstract class A
(2) abstract class A implements B
(3) final class A extends B, C
(4) final class A extends B
(5) class A
Компиляция программы завершилась ошибкой. Какое изменение необходимо внести в код? interface A{ void aMethod1(); void aMethod2(); } interface B extends A{ void bMethod3(); } class C implements B{ void bMethod3(){ ... } private void aMethod1(){ ... } protected void aMethod2(){ ... } }
(1) в классе C методы aMethod1() и aMethod2() должны быть описаны с модификатором public
(2) в классе C методы aMethod1() и aMethod2() должны быть описаны без модификаторов доступа
(3) в классе C методы aMethod1(), aMethod2() и bMethod3() должны быть описаны с модификатором доступа public
(4) реализация методов aMethod1() и aMethod2() должна быть перенесена в интерфейс B
(5) никаких измененений вносить не нужно
Как необходимо изменить программу, чтобы доступ к элементам класса A имели любые элементы внутри и вне пакета newpack? 1 package newpack; 2 class A { 3 int a, b; 4 void sum () { 5 System.out.print(a + b); 6 } 7 } 8 class B extends A{ 9 ... 10 } 11 ...
(1) описать все элементы A с модификатором доступа public, описать A с модификатором доступа public
(2) описать все элементы A с модификатором доступа public, а сам A с модификатором доступа по умолчанию
(3) описать A c модификатором доступа по умолчанию
(4) описать все элементы A без модификаторов доступа, а сам A c модификатором доступа public
(5) описать A c модификатором доступа private
При выполении программы было выдано сообщение об ошибке. Какое изменение может быть внесено в код? interface A { char getChar(int Code); int getCode(char Character); void show(); } class B implements A { char character; int charCode; public char getChar(int Code) { ... } public int getCode(char Character) { ... } public void show(char ch) { ... } }
(1) необходимо реализовать все методы A
(2) класс B объявить как абстрактный
(3) необходимы изменения 1) и 2)
(4) необходимо изменение 1) или 2)
(5) никаких изменений вносить не нужно
Какой класс используется исполнительной системой Java, для указания ошибок, имеющих отношение к среде времени выполнения?
(1) Exception
(2) RuntimeException
(3) Throwable
(4) Error
(5) Exceptions
Что будет выведено на экран в результате работы следующего фрагмента программы? int i = 4; while(i < 5) { try { if (i>=2) System.out.print(12 / i); else { throw new ArithmeticException("newEx"); } } catch (ArithmeticException e) { System.out.print(i); break; } i--; }
(1) сообщение об ошибке
(2) 34601
(3) 3460
(4) 34610
(5) 3461
Укажите, какие из приведенных утверждений относительно исключений в Java-программах верны?
(1) перехват и обработку исключений осуществляют блоки catch
(2) перехват исключений осуществляет блок try, а обработку блок catch
(3) блок try может выбросить и обработать исключение
(4) любое исключение, которое выброшено из метода, может быть определено с помощью ключевого слова throws
(5) для ручного выброса исключения используется ключевое слово throw
Что будет выведено на экран в результате выполнения следующего фрагмента программы? int a = 12; try { int i = 4; while (i > 0) { System.out.print(a/i); i--; } } finally { System.out.print(i); }
(1) 34612
(2) 346
(3) 346120
(4) 3460
(5) будет выдано сообщение об ошибке
Что будет выведено на экран в результате выполнения следующего фрагмента программы? try { throw new ArithmeticException(); System.out.print("2"); } catch (ArithmeticException e) { System.out.print("1"); } finally { System.out.print("0"); }
(1) 210
(2) 10
(3) 120
(4) 0
(5) сообщение об ошибке
Что будет выведен на экран в результате работы следующего фрагмента программы? for (int i = 0; i < 5; i++) { if (i % 2 == 1){ try { throw new ArithmeticException("ex"); } catch (ArithmeticException e) { System.out.print(i); } } else System.out.print(i++); }
(1) 02
(2) 0123
(3) 01234
(4) 034
(5) 024
Какие из перечисленных утверждений верны?
(1) один блок try может находиться внутри другого блока try
(2) внутри блока try не могут находиться другие блоки try
(3) операторы, которые контролируются блоком try, должны быть окружены фигурными скобками
(4) допускается вариант записи блока try без фигурных скобок в случае контроля над одним оператором
(5) все перечисленные варианты верны
Следующий фрагмент программы завершился ошибкой. Какие изменения необходимы, чтобы программа выводила на экран последовательность 54333? 1 int i = 5; 2 while (i > 2 ) { 3 System.out.print(i); 4 if (i < 4) 5 try throw new ArithmeticException ("ex"); 6 finally { System.out.print(i); } 7 catch (ArithmeticException e) { 8 System.out.print(i); 9 break; 10 } 11 i--; 12 }
(1) из строки 9 должен быть убран оператор break;
(2) оператор из строки 2 необходимо перенести в строку 3
(3) блок finally необходимо перенести под блок catch
(4) в строке 5 вместо throw необходимо использовать throws
(5) операторы, относящиеся к блоку try, должны быть заключены в {}
Какие утверждения относительно блока catch неверны?
(1) одному блоку try может отвечать только один блок catch
(2) в блоке catch описывается обработчик для того типа исключений, которое он перехватывает
(3) блок catch для верхенго в иерархии типа исключения должен идти первым
(4) множественные блоки catch должны быть вложены друг в друга
(5) все блоки catch, отвечающие вложенным try-блокам, описываются вне самого верхнего по иерархии try-блока
Каким может быть заголовок метода methods(), содержащего нижеприведенный программный код, чтобы вызывающая его программа могла корректно обрабатывать исключительные ситуации? int i = 4; while (i < 5){ if (i == 0) throw new NoSuchFieldException("first"); if (i == 2) throw new NoSuchMethodException("second"); if (i == 4) throw new IllegalAccessException("third"); i++; }
(1) void methods () throws NoSuchFieldException, NoSuchMethodException, IllegalAccessException
(2) void methods () throw NoSuchFieldException, NoSuchMethodException, IllegalAccessException
(3) private int methods () throws NoSuchFieldException, NoSuchMethodException
(4) public int methods () throws ArithmeticException, NoSuchFieldException, NoSuchMethodException, IllegalAccessException
(5) void methods () throws IllegalAccessException
Какой из приведенных списков содержит наиболее полный перечень спецификаторов, управляющих доступом к методам класса?
(1) public, private, static
(2) public, static, protected, private и доступ по умолчанию
(3) public, private, protected
(4) public, static, final, protected
(5) public, private, protected и доступ по умолчанию
Какие утверждения относительно методам класса верны?
(1) класс может содержать перегруженные методы, но должен включать определение хотя бы одного конструктора;
(2) в классе могут содержаться перегруженные методы и перегруженные конструкторы;
(3) в классе, содержащем перегруженные конструкторы, не должно быть перегруженных методов
(4) класс может включать перегруженные методы и не содержать определения ни одного конструктора
(5) класс должен содержать определение хотя бы одного метода и конструктора
(6) если класс не содержит определение ни одного конструктора, то компилятор создаст конструктор по умолчанию
Что будет выведено на экран в результате работы следующей программы? class Square { void s (int a, int b) { System.out.print (a * b); return a * b; } void s (int r) { System.out.print(3.14 * r * r); } } public class MyClass { public static void main (String args[]) { Square x = new Square(); x.s(3, 12); x.s(1); } }
(1) 363.14
(2) 3 * 123.14
(3) 3 * 123
(4) компиляция программы завершится ошибкой
(5) 363
В классе Dot, описывающем точку на плоскости, два целочисленных компонента - координаты точки: a и b. Какие из перечисленных конструкторов можно использовать в описании класса Dot?
(1) Dot() { a = 0; b = 0; }
(2) public static Dot (int x, int y) { a = x; b = y; }
(3) Dot (double x, double y) { a = x; b = y; }
(4) Dot (int x, int y) { a = x; b = y; }
(5) static constructor Dot () { a = 0; b = 0; }
Укажите все варианты кода, которые могут быть добавлены во вторую строку следующего фрагмента программы, чтобы вычисление площади круга с помощью метода S() было корректным? 1 class Square { 2 … 3 double r; 4 double s (){ 5 return PI * this.r * this.r; 6 } 7 }
(1) public final double PI = 3.14;
(2) double PI = 3.14;
(3) final double PI = 3.14;
(4) const double PI = 3.14;
(5) public const double PI = 3.14;
Какие из перечисленных заголовков методов классов допустимы в Java-программах?
(1) public void method (int a, float w)
(2) private Method (int a, float w)
(3) public void method ()
(4) protected int method ()
(5) protected final Method (int a, float w)
Укажите все варианты кода, с помощью которых может быть дополнено описание класса А, чтобы при создании объекта класса поля x и y получали нулевые значения? 1 class A { 2 int x; 3 int y; 4 }
(1) { x = 0; y = 0;}
(2) дополнить описание компонент модификатором final
(3) A(){ int x = 0; int y = 0; }
(4) A(){ x = 0; y = 0; }
(5) ничего изменять не нужно
В программе описан класс: class A { int x=0; int y=0; } Что будет выведено на экран в результате выполнения следующего фрагмента программы? A x ; System.out.print (x); x = new A(); System.out.println (x.x);
(1) null0
(2) 00
(3) 0
(4) на экран ничего не выведется
(5) программа завершится ошибкой
Класс B определен как внутренний нестатический класс для A. Какие утверждения из нижеперечисленных верны?
(1) класс B имеет доступ ко всем полям и методам класса A, неотмеченным спецификатором доступа private
(2) класс B имеет доступ ко всем полям и методам класса A независимо от спецификаторов доступа
(3) класс A имеет доступ ко всем полям и методам класса B, неотмеченным спецификатором доступа private
(4) класс A имеет доступ ко всем полям и методам класса B независимо от спецификаторов доступа
(5) класс A не имеет доступа ни к каким полям и методам класса B
Что будет выведено на экран в результате выполнения следующего фрагмента программы? class A { final int a = 2; int b; } ... A x = new A(); x.a = 1; x.b = 2; System.out.println(x.a + x.b); ...
(1) 1 + 2
(2) 4
(3) 3
(4) 2 + 2
(5) выполнение программы приведет к ошибке
Какие из перечисленных компонентов класса А будут доступны только расширяющему его классу B?
(1) public short a;
(2) protected void summ (int a, int b)
(3) void pow (int a, double b)
(4) protected int summ (double x1, double x2)
(5) public void mult (float a)
В программе приведено следующее описание класса Shape: abstract class Shape { double square; abstract public void setSquare(double s); } Какие нижеперечисленные фрагменты кода допустимы?
(1) Shape sh = new Shape; sh.setSquare(31.5);
(2) class Triangle extends Shape { public void setSquare(double s) { this.square = s; } }
(3) class Circle extends Shape { double rad; final double PI = 3.14; }
(4) class Triangle extends Shape { public int setSquare(double s) { this.square = s; } }
(5) класс Shape описан неверно. Программа завершиться ошибкой
Какие операции со ссылочными переменными в теле метода main() не приведут к ошибке компиляции? class A { … } class B extends A{ … } class C extends B { … } public class MyClass { public static void main (String args[]) { A x1 = new A(); B x2 = new B(); C x3 = new C(); … } }
(1) x1 = x2;
(2) x2 = x3;
(3) x3 = x1;
(4) x1 = x3;
(5) все перечисленные операции ошибочны
Какое из перечисленных утверждений верно?
(1) все объекты класса-родителя могут использовать любые методы и поля класса-наследника
(2) все объекты класса-наследника могут использовать любые методы и поля класса-родителя, отмеченные спецификатором доступа private
(3) все объекты класса-наследника могут использовать любые методы и поля класса-родителя, неотмеченные спецификатором доступа private
(4) все объекты класса-наследника могут использовать только методы и поля класса-родителя, отмеченные спецификатором доступа protected
(5) все объекты класса-родителя могут использовать только методы и поля класса-наследника, отмеченные спецификатором доступа protected
B программе описан класс А и его наследник класс B: 1 class A { 2 int a; 3 int b; 4 } 5 class B extends A{ 6 int b; 7 ... 8 } Каким кодом необходимо дополнить строку 7, чтобы в классе B переменная b класса А устанавливалась равной 1?
(1) b.A = 1;
(2) super.b = 1;
(3) b = 1;
(4) sup.b = 1;
(5) b.super() = 1;
В программе определены класс Shape и его наследник класс Circle: 1 class Shape { 2 double square; 3 Shape(double r){ 4 square = 3.14 * r* r; 5 } 6 } 7 class Circle extends Shape { 8 double r; 9 Circle (double rad) { 10 r = rad; 11 super(rad); 12 } 13 } Выполнение программы завершилось ошибкой. Какие изменения необходимо включить в текст программы, чтобы исключить ошибку?
(1) добавить в описание класса Circle описание конструктора без параметров
(2) изменить очередность следования строк 10 и 11
(3) изменить имя переменной в строке 3 на отличное от r и rad
(4) заменить ключевое слово super в строке 11 на Shape
(5) добавить в описание класса Shape описание конструктора без параметров
Какие из перечисленных методов являются переопределением метода public void method (int i, int j) класса родителя?
(1) public void method (int a, int b)
(2) public int method (int a, int b)
(3) public void method (int i, int j)
(4) public void method (int a, int b, int c)
(5) все вышеперечисленные
Метод method не должен переопределяться в классах наследниках. Какой модификатор необходимо использовать для отказа от переопределения?
(1) private
(2) final
(3) protected
(4) без модификатора
(5) public
Что послужило причиной ошибки компиляции нижеследующего фрагмента программы? class A { double r; ... } final class B extends A{ double r; ... } class C extends B { int a; int q; ... }
(1) класс B не может быть наследником какого-либо класса
(2) класс B не может быть унаследован каким-либо классом
(3) описание класса B не может предваряться модификатором final
(4) классы A и B не могут содержать переменную с одинаковым именем
(5) ни одна из вышеперечисленных причин не верна
Что будет выведено на экран в результате работы следующего фрагмента программы? class A { int a = 0, b = 0; void sum () { System.out.print(a + b); } } class B extends A{ int c,d ; B(int b1, int b2) { super(); c = b1; d = b2; } void sum() { System.out.print(c + d); } } ... B x = new B(1,2); x.sum();
(1) 0 + 0
(2) 0
(3) 1 + 2
(4) 3
(5) 03
Какая из перечисленных инструкций обеспечит видимость пакета myPack.math в последующем коде?
(1) package myPack.math;
(2) import package myPack.math;
(3) import myPack.math;
(4) using myPack.math;
(5) using package myPack.math;
Какие утверждения, относительно интерфейсов верны?
(1) переменные, объявленные внутри интерфейса должны быть инициализированы постоянными значениями
(2) один класс может реализовывать только один интерфейс
(3) интерфейс может реализовываться одним или несколькими классами
(4) класс, реализующий интерфейс неполностью, должен быть объявлен, как abstract
(5) один интерфейс может наследовать другой
Какая информация храниться в переменной окружения CLASSPATH?
(1) текущий рабочий каталог
(2) одно или несколько названий классов, к которым есть обращение в коде приложения
(3) корень иерархии пакетов текущего приложения в файловой системе компьютера
(4) ничего из вышеперечисленного
(5) один или несколько корневых каталогов иерархии пакетов, где хранятся пользовательские классы, к которым есть обращение в коде приложения
Каким кодом следует дополнить строку 1 следующего фрагмента программы, чтобы в нем определялся пакет NewPack? 1 ... 2 class A { 3 int a, b; 4 void sum () { 5 System.out.print(a + b); 6 } 7 } 8 class B extends A{ 9 int c,d ; 10 B(int b1, int b2) { 11 super(); 12 c = b1; 13 d = b2; 14 } 15 void sum() { 16 System.out.print(c + d); 17 } 18 }
(1) new package newpack;
(2) package newpack;
(3) set package newpack;
(4) public package newpack;
Класс A наследует класс B из пакета newpack. Каким кодом необходимо дополнить строку 1 следующего фрагмента программы, чтобы она выполнилась без ошибок? 1 ... 2 int a, b; 3 void show () { 4 System.out.print(a); 5 System.out.print(b); 6 } 7 }
(1) import newpack.*; class A extends B {
(2) class A extends newpack.* {
(3) class A extends newpack.B {
(4) class A extends B.newpack {
(5) import *.newpack; class A extends B {
В программе приведено следующее описание: interface A { void method1(); void method2(); } interface B extends A { void method3(); void method4(); } class C implements B { Какие методы должны быть описаны в С?
(1) только методы интерфейса B
(2) только методы интерфейса A
(3) методы интерфейсов A и B
(4) ни методы A, ни методы B
(5) необходимые методы из A и необходимые методы из B
Какое ключевое слово используется для указания того, что класс реализует интерфейс?
(1) extends
(2) implements
(3) import
(4) uses
(5) include
Компиляция программы завершилась ошибкой. Какое изменение необходимо внести в код? 1 interface A { 2 void method1(); 3 void method2(); 4 } 5 abstract class B implements A { 6 public void method1(){ 7 System.out.println("I'm here"); 8 } 9 abstract int method3() ; 10 } 11 class C implements B { 12 int a; 13 int method3() { 14 return a; 15 } 16 }
(1) класс B должен реализовывать методы method2() и method3()
(2) строка 5 должна быть изменена на abstract B extends A {
(3) строка 11 должна быть изменена на class C extends B {
(4) строка 5 должна быть изменена на interface B implements A {
(5) метод method2 должен быть реализован в классе B или в классе A
(6) никаких измененений вносить не нужно
Как необходимо изменить программу, чтобы доступ к элементам класса A имели только его прямые наследники внутри и вне пакета newpack? 1 package newpack; 2 class A { 3 int a, b; 4 void sum () { 5 System.out.print(a + b); 6 } 7 } 8 class B extends A{ 9 ... 10 } 11 ...
(1) описать A с модификатором доступа public
(2) описать все элементы A с модификатором доступа protected, а сам A с модификатором private
(3) описать все элементы A c модификатором доступа protected
(4) описать все элементы A с модификатором доступа public и сам A c модификатором доступа public
(5) описать A c модификатором доступа private
При выполении программы было выдано сообщение об ошибке. Какое изменение необходимо внести в код? 1 interface A { 2 double PI = 3.14; 3 double G = 9.8; 4 void method1(); 5 int method2(); 6 } 7 abstract class B implements A { 8 double F (double m) { 9 return G * m; 10 } 11 void method1() { 12 System.out.println("I'm here"); 13 } 14 }
(1) необходимо реализовать все методы A
(2) B должен быть унаследован от A
(3) method1() в B должен быть описан как public
(4) F() должен использовать переменную как super.G
(5) B должен содержать хотя бы один конструктор
(6) B должен содержать свою собственную переменную G
Какой набор ключевых слов используется для управления исключениями?
(1) try, catch, finally
(2) try, catch, throw, trows
(3) try, catch, throw, trows, finally
(4) try, catch, throw, trows, finally, exception
(5) try, catch, throw, trows, exception
Что будет выведено на экран в результате работы следующего фрагмента программы? int a = 9, i = -1; while (i < 3) { try { System.out.print(36 / a); } catch (ArithmeticException e) { System.out.print(36 / 2); } a -=3 ; i++; }
(1) сообщение об ошибке
(2) 4612
(3) 18
(4) 461218
(5) 461236 / 2
Сколько блоков catch могут отвечать блоку try?
(1) только один
(2) несколько
(3) ни одного
(4) не более трех
(5) не более пяти
Что будет выведено на экран в результате работы следующего фрагмента программы? int a = 9, i = -1; while (i < 3) { try { System.out.print(36 / a); } catch (ArithmeticException e) { System.out.print(36 / 2); } finally { System.out.print(36 / 1); } a -=3 ; i++; }
(1) 46121836
(2) 43663612361836
(3) 436636123636
(4) 461236
(5) будет выдано сообщение об ошибке
Какими начальными значениями должны быть проинициированы переменные a и i, чтобы следующий фрагмент кода выводил на экран последовательность 4612? while (i < 3) { try { System.out.print(36 / a); } catch (ArithmeticException e) { System.out.print(36 / 2); } a -=3 ; i++; }
(1) int a = 9, i = -1;
(2) int a = 9, i = 0;
(3) int a = 12, i = 0;
(4) int a = 12, i = -1;
(5) int a = 9, i = 1;
Что будет выведен на экран в результате работы следующего фрагмента программы? int i = 0; while (i < 3) { System.out.print(i); if (i > 1) try { throw new ArithmeticException ("ex"); } catch (ArithmeticException e) { System.out.print(i); break; } i++; }
(1) 01
(2) 012
(3) 0112
(4) 0122
(5) будет выдано сообщение об ошибке
В каком случае в заголовок метода добавляется ключевое слово throws?
(1) если метод может породить исключение, которое он не обрабатывает
(2) если метод может породить исключение и обработать его
(3) если все исключения должны быть проигнорированы функцией, вызывающей метод
(4) если все исключения должны быть обработаны функцией, вызывающей метод
Следующий фрагмент программы завершился ошибкой. Какие изменения необходимы, чтобы программа выводила на экран последовательность 01222? 1 int i = 0; 2 while (i < 3) { 3 System.out.print(i); 4 if (i > 1) 5 try { 6 throw new ArithmeticException ("ex"); 7 } 8 finally { 9 System.out.print(i); 10 } 11 catch (ArithmeticException e) { 12 System.out.print(i); 13 break; 14 } 15 i++; 16 }
(1) из строки 13 должен быть убран оператор break;
(2) оператор while из строки 2 необходимо перенести в строку 14
(3) блок finally необходимо перенести под блок catch
(4) в строке 6 вместо throw необходимо использовать throws
(5) никаких изменений вносить не нужно
Какие утверждения относительно блока finally верны?
(1) блок finally выполниться независимо от того, было ли выброшено исключение
(2) finally является обязательным блоком
(3) finally является необязательным блоком
(4) код, включенный в finally выполняется после завершения блока try/catch
(5) код, включенный в finally выполняется после завершения блока try перед выполнением блока catch
Каким может быть заголовок метода methods(), содержащего нижеприведенный программный код, чтобы вызывающая его программа могла корректно обрабатывать исключительные ситуациии? int i = 0; while (i < 5){ if (i == 0) throw new ArithmeticException("first"); if (i == 2) throw new IllegalArgumentException("second"); if (i == 4) throw new ArithmeticException("third"); i++; }
(1) void method () throws ArithmeticException, IllegalArgumentException, ArithmeticException
(2) void method () throws ArithmeticException, IllegalArgumentException
(3) private int method () throws ArithmeticException, IllegalArgumentException, ArithmeticException
(4) public int method () throws ArithmeticException, IllegalArgumentException
(5) void method () throws Exception
Какая операция предусмотрена в Java для обращения к полям и методам класса?
(1) ->
(2) .
(3) -
(4) >>
(5) никакая специальная
Какие утверждения относительно компонентов класса верны?
(1) класс может содержать перегруженные конструкторы;
(2) в классе могут содержаться перегруженные методы;
(3) в классе, содержащем перегруженные конструкторы, не должно быть перегруженных методов
(4) класс может включать перегруженные методы и не содержать описания ни одного конструктора
(5) в классе, содержащем перегруженные методы, не должно быть перегруженных конструкторов
Что будет выведено на экран в результате работы следующей программы? class Square { int s (int a, int b) { System.out.print (a * b); return a * b; } void s (int r) { System.out.print(3.14 * r * r); } } public class MyClass { public static void main (String args[]) { Square x = new Square(); x.s(3, 12); x.s(1); } }
(1) 363.14
(2) 3 * 123.14
(3) 3 * 123
(4) программа завершится ошибкой
(5) 363
В классе Dot, описывающем точку на плоскости, два целочисленных компонента - координаты точки: a и b. Какие из перечисленных конструкторов можно использовать в описании класса Dot?
(1) Dot() { a = 0; b = 0; }
(2) public static Dot (short x, short y) { a = x; b = y; }
(3) Dot (double x, double y) { a = x; b = y; }
(4) Dot (int x) { a = x; b = 0; }
(5) protected Dot () { a = 0; b = 0; }
Какой код может быть добавлен во вторую строку программы, для того, чтобы вычисление площади круга было корректным? 1 class Square { 2 … 3 double r; 4 double s (){ 5 return PI * this.r * this.r; 6 } 7 }
(1) public final double PI = 3.14;
(2) long PI = 3.14;
(3) final double PI = 3.14;
(4) const float PI = 3.14;
(5) public static long PI = 3.14;
Какой из перечисленных методов класса является перегруженным?
(1) void method (int a, int b, int c)
(2) int method ()
(3) void method (double a, double b, double c)
(4) int method (char ch, double q)
(5) все вышеперечисленные
Укажите все варианты кода, с помощью которых может быть дополнено описание класса А, чтобы при создании объекта класса поля x и y получали нулевые значения? 1 class A { 2 int x; 3 int y; 4 }
(1) { x = 0; y = 0;}
(2) изменить строки 2 и 3 на int x =0; int y = 0;
(3) A(){ int x = 0; int y = 0; }
(4) A(){ x = 0; y = 0; }
(5) ничего изменять не нужно
В программе описан класс: class A { int x=0; int y=0; } Что будет выведено на экран в результате выполнения следующего фрагмента программы? A x ; x = new A(); System.out.print (x.y); System.out.println (x.x);
(1) null0
(2) 00
(3) 0
(4) на экран ничего не выведется
(5) программа завершится ошибкой
Класс B определен как внутренний нестатический класс для A. Какие утверждения из нижеперечисленных не верны?
(1) класс B имеет доступ ко всем полям и методам класса A, неотмеченным спецификатором доступа private
(2) класс B имеет доступ ко всем полям и методам класса A независимо от спецификаторов доступа
(3) класс A имеет доступ ко всем полям и методам класса B, неотмеченным спецификатором доступа private
(4) класс A имеет доступ ко всем полям и методам класса B независимо от спецификаторов доступа
(5) класс A не имеет доступа ни к каким полям и методам класса B
Что будет выведено на экран в результате выполнения следующего фрагмента программы? class A { public static int i = 0; A() { i ++; } } ... A x = new A(); System.out.print(x.i); A y = new A(); System.out.print(x.i); System.out.print(y.i); ...
(1) 111
(2) 121
(3) 122
(4) 011
(5) выполнение программы приведет к ошибке
Какой из перечисленных компонентов класса А не будет доступен расширяющему его классу B?
(1) public short a;
(2) protected void summ (int a, int b)
(3) private void pow (int a, double b)
(4) protected int summ (double x1, double x2)
(5) void mult (float a) при условии что классы А и B находятся в одном пакете
В программе приведено следующее описание класса Shape: abstract class Shape { double square; abstract public void setSquare(double s); } Какие нижеперечисленные фрагменты кода допустимы?
(1) Shape sh = new Shape; sh.setSquare(31.5);
(2) class Triangle extends Shape { public void setSquare(double s) { this.square = s; } }
(3) abstract class Circle extends Shape { double rad; final double PI = 3.14; }
(4) class Triangle extends Shape { public int setSquare(double s) { this.square = s; } }
(5) класс Shape описан неверно. Программа завершиться ошибкой
Какая операция со ссылочными переменными в теле метода main() не приведет к ошибке компиляции? class A { … } class B extends A{ … } class C extends B { … } public class MyClass { public static void main (String args[]) { A x1 = new A(); B x2 = new B(); C x3 = new C(); … } }
(1) x1 = x2;
(2) x3 = x1;
(3) x2 = x1;
(4) x1 = x3;
(5) все перечисленные операции ошибочны
Какие из перечисленных утверждений неверны?
(1) все объекты класса-родителя могут использовать любые методы и поля класса-наследника
(2) все объекты класса-наследника могут использовать любые методы и поля класса-родителя, отмеченные спецификатором доступа private
(3) все объекты класса-наследника могут использовать любые методы и поля класса-родителя, неотмеченные спецификатором доступа private
(4) все объекты класса-наследника могут использовать только методы и поля класса-родителя, которые не имеют спецификатора доступа
(5) все объекты класса-родителя могут использовать только методы и поля класса-наследника, которые не имеют спецификатора доступа
B программе описан класс А и его наследник класс B: 1 class A { 2 int a; 3 int b; 4 } 5 class B extends A{ 6 int b; 7 ... 8 } Каким кодом необходимо дополнить строку 7, чтобы в классе B переменная b класса А устанавливалась равной 1?
(1) b.A = 1;
(2) super.b = 1;
(3) A.b = 1;
(4) sup.b = 1;
(5) b.super() = 1;
В программе определены класс Shape и его наследник класс Circle: 1 class Shape { 2 double square; 3 Shape(double r){ 4 square = 3.14 * r* r; 5 } 6 } 7 class Circle extends Shape { 8 double r; 9 Circle (double rad) { 10 super(rad); 11 r = rad; 12 } 13 } Какие изменения необходимо включить в текст программы, чтобы исключить ошибку?
(1) добавить в описание класса Circle описание конструктора без параметров
(2) изменить очередность следования строк 10 и 11
(3) изменить имя переменной в строке 3 на отличное от r и rad
(4) заменить ключевое слово super в строке 11 на Shape
(5) ошибки нет, ничего изменять не нужно
Какой из перечисленных методов является переопределением метода public double method (boolean flag, char ch) класса родителя?
(1) public void method (int a, int b)
(2) public int method (int a, int b)
(3) public double method (boolean i, char j)
(4) public void method (int a, int b, int c)
(5) все вышеперечисленные
Какой метод класса A нельзя будет переопределить в классах наследниках?
(1) public int method2 (char a, char b)
(2) final int method1 (boolean q)
(3) protected void method3 ()
(4) static double pow (double a, double q)
(5) ни один из вышеперечисленных
Что послужило причиной ошибки компиляции нижеследующего фрагмента программы? class A { double r; final void show (){ System.out.print(r); } } class B extends A{ double r1; void show(){ System.out.print(r1); } } class C extends B { int a; int q; ... }
(1) класс B не может быть наследником какого-либо класса
(2) в классе B не может быть переопределен метод show()
(3) описание класса B не может предваряться модификатором final
(4) классы A и B не могут содержать переменную с одинаковым именем
(5) ни одна из вышеперечисленных причин не верна
Что будет выведено на экран в результате работы следующего фрагмента программы? class A { int a = 0; void show () { System.out.print(a); } } class B extends A{ int a = 1 ; void show () { System.out.print(a); super.show(); } } ... B x = new B(); x.show();
(1) 1
(2) 0
(3) 10
(4) 01
(5) 11
Какая из перечисленных инструкций обеспечит видимость пакетов, входящих в пакет java.io.* в последующем коде?
(1) package java.io.*;
(2) import java.io.*;
(3) import package java.io.*;
(4) using java.io.*;
(5) using package java.io.*;
Каким образом в класс A может быть влкючен некоторый набор констант, доступных для всех объектов класса?
(1) определить набор final-переменных непосредственно в классе
(2) определить набор private-переменныx непосредственно в классе
(3) реализовать интерфейс, в котором определены public-переменные
(4) определить набор private-переменных в классе родителе
(5) реализовать интерфейс, в котором определены private-переменные
Какая информация храниться в переменной окружения CLASSPATH?
(1) текущий рабочий каталог
(2) корень иерархии пакетов в файловой системе компьютера
(3) корень иерархии пакетов текущего приложения в файловой системе компьютера
(4) названия классов, к которым есть обращение в коде приложения
(5) ничего из вышеперечисленного
Какая переменная класса А недоступна его наследнику классу B? 1 package newpack; 2 public class A { 3 public int a; 4 protected double c ; 5 private protected int q; 6 private int j; 7 } 8 class B extends A{ 9 int c ; 10 B(int b1, int b2) { 11 super(); 12 c = b1; 13 d = b2; 14 }
(1) в коде содержится ошибка
(2) c, q, j
(3) q, j
(4) q
(5) j
Класс A наследует класс B из пакета newpack. Каким кодом необходимо дополнить строку 1 следующего фрагмента программы, чтобы она выполнилась без ошибок? 1 ... 2 int a, b; 3 void show () { 4 System.out.print(a); 5 System.out.print(b); 6 } 7 }
(1) import newpack.*; class A extends B {
(2) class A extends newpack.* {
(3) class A extends newpack.B {
(4) class A extends B.newpack {
(5) import newpack.B; class A extends B {
Укажите в каких случаях приведенный код допустим? A[] x = new A[3]; x[0]=new B(); x[1] = new C(); x[2] = new D();
(1) если A - интерфейс, а B, C и D класса, которые его реализуют
(2) если A - класс, а B, C и D класса, которые его наследуют
(3) если A, B, C и D - независимые интерфейсы
(4) если A, B, C и D - независимые классы
(5) если A - интерфейс, а B, C и D интерфейсы, которые его наследуют
Какой конструктор должен быть объявлен в теле интерфейса?
(1) конструктор без параметров
(2) несколько подразумеваемых конструкторов
(3) конструктор с одним и конструктор без параметров
(4) конструктор по умолчанию
(5) в интерфейсе отсутсвует объявление конструкторов
Компиляция программы завершилась ошибкой. Какие изменения необходимо внести в код? 1 interface A { 2 void method1(); 3 void method2(); 4 } 5 public class B implements A { 6 public void method1(){ 7 System.out.println("I'm here"); 8 } 9 int method3() ; 10 } 11 class C extends B { 12 int a; 13 int method3() { 14 return a; 15 } 16 }
(1) класс B должен реализовывать методы method2() и method3()
(2) строка 5 должна быть изменена на final class B implements A {
(3) строка 11 должна быть изменена на class C implements B {
(4) строка 5 должна быть изменена на interface B extends A {
(5) никаких измененений вносить не нужно
Как необходимо изменить программу, чтобы доступ к элементам a, b класса A имели его прямые наследники внутри и вне пакета newpack? 1 package newpack; 2 class A { 3 int a, b; 4 void sum () { 5 System.out.print(a + b); 6 } 7 } 8 class B extends A{ 9 ... 10 } 11 ...
(1) описать a, b в A с модификатором доступа public
(2) описать a, b в A с модификатором доступа protected, а сам A с модификатором private
(3) описать a, b в А c модификатором доступа protected
(4) описать a, b в А с модификатором доступа public и сам A c модификатором доступа public
(5) описать a, b в А без модификатора доступа
При выполении программы было выдано сообщение об ошибке. Что стало ее причиной? 1 interface A { 2 double PI = 3.14; 3 double G = 9.8; 4 void method1(); 5 int method2(); 6 } 7 abstract class B implements A { 8 double F (double m) { 9 return G * m; 10 } 11 void method1() { 12 System.out.println("I'm here"); 13 } 14 }
(1) в B не реализованы все методы A
(2) B реализует A
(3) B не содержит ни одного конструктора
(4) F() не использует переменную как super.G
(5) method1() при реализации не объявлен как public
(6) B не имеет доступа к переменным интерфейса A
Какой блок используется для выделения фрагмента кода, который необходимо защитить от исключительных ситуаций?
(1) throws
(2) try
(3) catch
(4) exception
(5) finally
Что будет выведено на экран в результате работы следующего фрагмента программы? int a = 8, i = -1; while (i < 2) { try { System.out.print(36 / a); } catch (ArithmeticException e) { System.out.print(36 / 2); } a -=2 ; i++; }
(1) сообщение об ошибке
(2) 46918
(3) 18
(4) 469
(5) 461236 / 2
Каким образом обрабатываются исключения разных типов, выброшенных в одном блоке try?
(1) для каждого типа исключений описывается свой блок catch
(2) в описании единственного блока catch через запятую указываются типы исключений
(3) для каждого типа исключений описывается свой блок catch и finally
(4) в одном блоке try не могут выбрасываться исключения разных типов
(5) в блоке catch можно указать общего предка для всех исключений, которые могут быть выброшены в блоке try
(6) ни один пункт не верен
Что будет выведено на экран в результате выполнения следующего фрагмента программы? int a = 8, i = -1; while (i < 2) { try { System.out.print(36 / a); } catch (ArithmeticException e) { System.out.print(36 / 2); } finally { System.out.print("1"); } a -=3 ; i++; }
(1) 46121836
(2) 47181
(3) 4171181
(4) 461236
(5) будет выдано сообщение об ошибке
Какими начальными значениями должны быть проинициированы переменные a и i, чтобы следующий фрагмент кода выводил на экран последовательность 469? while (i < 3) { try { System.out.print(36 / a); } catch (ArithmeticException e) { System.out.print(36 / 2); } a -=2 ; i++; }
(1) int a = 8, i = 0;
(2) int a = 9, i = 1;
(3) int a = 10, i = 0;
(4) int a = 10, i = -1;
(5) int a = 9, i = 0;
Что будет выведен на экран в результате работы следующего фрагмента программы? int i = 0; while (i < 3) { System.out.print(i); if (i > 1) try { throw new ArithmeticException ("ex"); } catch (ArithmeticException e) { System.out.print(--i); break; } i++; }
(1) 01
(2) 012
(3) 0121
(4) 0122
(5) будет выдано сообщение об ошибке
В каком случае используется оператор throw?
(1) когда необходимо пропустить потенциально опасный блок кода
(2) для описания собственных исключений
(3) когда необходимо возбудить исключение вручную
(4) если все исключения должны быть проигнорированы
(5) ни в одном из вышеперечисленных случаев
Следующий фрагмент программы завершился ошибкой. Какие изменения необходимы, чтобы программа выводила на экран последовательность 0122? 1 int i =0; 2 while (i < 3) { 3 System.out.print(i); 4 if (i > 1) 5 try { 6 throw new ArithmeticException ("ex"); 7 } 8 catch (IllegalArgumentException e) { 9 System.out.print(i); 10 break; 11 } 12 i++; 13 }
(1) из строки 10 должен быть убран оператор break;
(2) в строке 8 тип исключения необходимо заменить на ArithmeticException
(3) оператор while из строки 2 необходимо перенести в строку 13
(4) в строке 6 вместо throw необходимо использовать throws
(5) никаких изменений вносить не нужно
Какие утверждения относительно блока finally неверны?
(1) блок finally выполниться независимо от того, было ли выброшено исключение
(2) finally является обязательным блоком
(3) finally является необязательным блоком
(4) код, включенный в finally выполняется после завершения блока try/catch
(5) код, включенный в finally выполняется после завершения блока try перед выполнением блока catch
Каким может быть заголовок метода method(), содержащего нижеприведенный программный код, чтобы вызывающая его программа могла корректно обрабатывать порожденные им исключительные ситуации? int i = 0; while (i < 5){ if (i == 0) throw new ArithmeticException("first"); if (i == 2) throw new IllegalArgumentException("second"); if (i == 4) throw new ArithmeticException("third"); i++; }
(1) void method () throws ArithmeticException, IllegalArgumentException, ArithmeticException
(2) void method () throw ArithmeticException, IllegalArgumentException
(3) void method () throws ArithmeticException, IllegalArgumentException
(4) public int method () throw ArithmeticException, IllegalArgumentException
(5) void method () throws Exception
Какие варианты ответа соотвествуют обращению к полям и методам некоторых классов?
(1) a=c>>b;
(2) a.show();
(3) System.out.println("Hello, world!");
(4) a.field = 15;
(5) никакие
Какие утверждения относительно компонентов класса верны?
(1) класс может не содержать ни одного конструктора, но на этапе компиляции будет создан конструктор по умолчанию
(2) класс может включать перегруженные конструкторы
(3) класс может не содержать ни одного метода
(4) класс должен включать хотя бы один метод
(5) ни одно утверждение не верно
Что будет выведено на экран в результате работы следующей программы? class Square { private int s (int a, int b) { System.out.print (a * b); return a * b; } void s (int r) { System.out.print(r); } } public class MyClass { public static void main (String args[]) { Square x = new Square(); x.s(3, 0); x.s(1); } }
(1) 001
(2) 3*01
(3) 0
(4) программа завершится ошибкой
(5) 01
В классе Vector, описывающем отрезок на плоскости - две компоненты типа double: радиус - r и угол наклона - fi. Какие из перечисленных конструкторов можно использовать в описании класса Vector?
(1) Vector() { r = 0; fi = 0; }
(2) public static Vector (short x, short y) { r = x; fi = y; }
(3) Vector (double x, double y) { r = x; fi = y; }
(4) Vector (int x) { r = x; fi = 0.0; }
(5) static constructor Vector () { r = 0; fi = 0; }
Укажите все варианты кода, которые могут быть добавлены во вторую строку программы, для того, чтобы вычисление веса тела было корректным? 1 class Square { 2 … 3 double m; 4 double s (){ 5 return g * this.m; 6 } 7 }
(1) final double g = 9.8;
(2) long PI = 9.8;
(3) public final double g = 9.8;
(4) const float g = 9.8;
(5) public static final g = 9.8;
Какие из перечисленных методов класса являются перегруженными?
(1) void method (int a, double b, int c)
(2) unsigned int method ()
(3) void method (unsigned int a, unsigned int b, unsigned int c)
(4) char method (char ch, double q)
(5) char method (int ch, double q)
Укажите все варианты кода, с помощью которых может быть дополнено описание класса А, чтобы при создании объекта класса поля x получала нулевое, а y - единичное значение? 1 class A { 2 int x; 3 int y; 4 }
(1) { x = 1; y = 1;}
(2) изменить строки 2 и 3 на int x = 0; int y = 1;
(3) A(){ x = 0; y = 1; }
(4) void A(){ x = 0; y = 1; }
(5) ничего изменять не нужно
В программе описан класс: class A { int x=0; int y=0; } Что будет выведено на экран в результате выполнения следующего фрагмента программы? A x, y ; x = new A(); System.out.print (x.y); System.out.println (y.x);
(1) nullnull
(2) 00
(3) 0
(4) на экран ничего не выведется
(5) программа завершится ошибкой
Класс B определен как внутренний нестатический класс для A. Какое утверждение из нижеперечисленных верно?
(1) класс B имеет доступ ко всем полям класса A, но не имеет доступа к его методам
(2) класс B имеет доступ ко всем методам класса A но не имеет доступа к его полям
(3) класс A имеет доступ ко всем методам класса B, но не имеет доступа к его полям
(4) класс A имеет доступ ко всем полям класса B но не имеет доступа к его методам
(5) классы A и B имеют полный доступ к полям и методам друг друга
Что будет выведено на экран в результате выполнения следующего фрагмента программы? class A { static int i = 0; A() { i++; } } ... A x = new A(); System.out.print(x.i); A y = new A(); System.out.print(x.i); System.out.print(y.i); ...
(1) 112
(2) 122
(3) 223
(4) 222
(5) выполнение программы приведет к ошибке
Какие из перечисленных компонентов класса А не будут доступны расширяющему его классу?
(1) public char ch;
(2) void summ (int a, int b) при условии что классы А и B находятся в разных пакетах
(3) private void pow (int a, double b)
(4) protected double summ (double x1, double x2)
(5) private int uns;
В программе приведено следующее описание класса Perimetr: abstract class Perimetr { double perimetr; abstract public void setPerimetr(double p); } Какие нижеперечисленные фрагменты кода допустимы?
(1) Perimetr sh = new Perimetr; sh.setPerimetr(55.2);
(2) class Triangle extends Perimetr { public void setPerimetr(double p) { this.perimetr = p; } }
(3) class Circle extends Perimetr { double rad; final float PI = 3.14; }
(4) class Triangle extends Perimetr { void setPerimetr(double p) { this.perimetr = s; } }
(5) класс Perimetr описан неверно. Программа завершиться ошибкой
Что будет выведено на экран в результате выполнения следующего фрагмента программы? class A { … } class B extends A{ … } class C extends B { … } public class MyClass { public static void main (String args[]) { A x1 = new A(); B x2 = new B(); C x3 = new C(); x1 = x3; x2 = x3; System.out.println(x1.equals(x2)); } }
(1) ничего
(2) true
(3) false
(4) 1
(5) 0
Какие из перечисленных утверждений верны?
(1) все объекты класса-наследника могут использовать поля и методы класса-родителя со спецификатором доступаpublic
(2) все объекты класса-наследника могут использовать поля и методы класса-родителя со спецификатором доступаprotected
(3) все объекты класса-наследника могут использовать поля и методы класса-родителя со спецификатором доступаprivate
(4) все объекты класса-наследника могут использовать поля и методы класса-родителя без спецификатора доступа, если оба класса находятся в одном пакете
(5) ни одно утверждение не верно
B программе описан класс А и его наследник класс B: 1 class A { 2 int a; 3 int b; 4 } 5 class B extends A{ 6 int b; 7 ... 8 } Каким кодом необходимо дополнить строку 7, чтобы в классе B переменная b класса А устанавливалась равной 1?
(1) b.A = 1;
(2) super.b = 1;
(3) A.b = 1;
(4) b = 1;
(5) b.super() = 1;
В программе приведено следующее описание: 1 class A { 2 int a ; 3 A(int x){ 4 a = x; 5 } 6 } 7 class B extends A { 8 int b; 9 B(int x){ 10 super.A(x); 11 b = x; 12 } 13 } Выполнение программы завершилось ошибкой. Какое изменение необходимо внести, чтобы исключить ошибку?
(1) модификаторы доступа классов A и B необходимо установить public
(2) строку 10 следует заменить на: super.A();
(3) строку 10 следует заменить на: A(x);
(4) строку 10 следует заменить на: super(x);
(5) никаких изменений вносить не нужно
Какой из перечисленных методов является переопределением метода public void method (double x1, double x2) класса родителя?
(1) public void method (int a, int b)
(2) public void method (double a, double b)
(3) public double method (double a, double b)
(4) protected void method (double a, double b)
(5) ни один из вышеперечисленных
Какие методы класса A нельзя будет переопределить в классах наследниках?
(1) final int method1 (int a, char b)
(2) static int method2 (boolean flag)
(3) protected int method3 ()
(4) private int method4 (double a, double b)
(5) ни один из вышеперечисленных
Какое изменение следует внести в следующий фрагмент программы, чтобы сделать невозможным переопределение метода show() класса A в классе B? class A { double r; void show (){ System.out.print(r); } } class B extends A{ double r1; void show(){ System.out.print(r1); } } class C extends B { int a; int q; ... }
(1) метод show() класса A следует предварить спецификатором доступа protected
(2) метод show() класса A следует предварить модификатором final
(3) метод show() класса A следует предварить модификатором finally
(4) метод show() класса A следует предварить спецификатором доступа private
(5) никаких изменений вносить не нужно
Что будет выведено на экран в результате работы следующего фрагмента программы? class A { int a ; public void show (){ System.out.print(a++); } A(int x){ a = ++x; } } class B extends A { int a; public void show (){ super.show(); } B(int x){super(x); a = --x; } } ... B x = new B(4); x.show();
(1) 35
(2) 45
(3) 4
(4) 5
(5) сообщение об ошибке
Какое имя должен иметь каталог, в котором хранятся классы, относящиеся к пакету myFirstPackage?
(1) packages/myfirstpackage
(2) myfirstpackage
(3) Myfirstpackage
(4) myFirstPackage
(5) в специальной автоматически создаваемой папке
Укажите подходящее описание класса B, если известно, что: abstract class B implements I?
(1) класс B является абстрактным и наследует класс I
(2) класс B реализует класс I
(3) класс B является абстрактным и реализует интерфейс I
(4) класс B является абстрактным и частично реализует интерфейс I
(5) ни один вариант не верен
В какой переменной окружения хранится имя корневого каталога иерархии пакетов в файловой системе компьютера?
(1) PACKAGEROOT
(2) ROOT
(3) CLASSPATH
(4) CLASSROOT
(5) PACKAGEPATH
Какая переменная класса А недоступна его наследнику классу B? 1 class A { 2 final int a; 3 protected double c ; 4 int q; 5 private int j; 6 } 7 class B extends A{ 8 int c ; 9 B(int b1, int b2) { 10 super(); 11 c = b1; 12 }
(1) a
(2) a, j
(3) c, q
(4) a,c,q
(5) j
Класс A наследует класс B из пакета newpack. Каким кодом необходимо дополнить строку 1 следующего фрагмента программы, чтобы она выполнилась без ошибок? 1 ... 2 class A extends B { 3 int a, b; 4 void show () { 5 System.out.print(a); 6 System.out.print(b); 7 } 8 }
(1) import newpack.*;
(2) import B.newpack.*;
(3) import newpack.B;
(4) import B;
(5) import newpack.B.java;
Укажите в каком случае приведенный код допустим? interface B extends A {…} class C implements B
(1) если A - интерфейc
(2) если A - класс
(3) если A - абстрактный класс
(4) если A - пакет
(5) такой код недопустим
Какие из перечисленных заголовков описания класса недопустимы?
(1) class A extends B, C {
(2) final class A {
(3) abstract final class A {
(4) abstract final class A implements B {
(5) class A implements B, C {
Компиляция программы завершилась ошибкой. Какое изменение необходимо внести в код? 1 interface A { 2 void method1(); 3 void method2(); 4 } 5 abstract B extends A { 6 public void method1(){ 7 System.out.println("I'm here"); 8 } 9 abstract int method3() ; 10 }
(1) строка 5 должна быть изменена на abstract B extends A {
(2) строка 5 должна быть изменена на abstract class B extends A {
(3) строка 5 должна быть изменена на class B implements A {
(4) строка 5 должна быть изменена на abstract class B implements A {
(5) никаких измененений вносить не нужно
Как необходимо изменить программу, чтобы доступ к элементам a, b класса A имели все элементы внутри и только прямые наследники вне пакета newpack? 1 package newpack; 2 class A { 3 int a, b; 4 void sum () { 5 System.out.print(a + b); 6 } 7 } 8 class B extends A{ 9 ... 10 } 11 ...
(1) описать a и b с модификатором доступа private
(2) описать a и b с модификатором доступа protected
(3) описать A c модификатором доступа public, а описать a иbb с модификатором доступа private
(4) описать a и b без модификатора доступа
(5) описать A c модификатором доступа private
При выполении программы было выдано сообщение об ошибке. Какое изменение необходимо внести в код? interface A { double PI = 3.14; double G = 9.8; void method1(); int method2(); } abstract class B implements A { double F (double m) { return G * m; } public void method1() {... } int method2() { ... } }
(1) необходимо реализовать все методы A
(2) B должен быть унаследован от A
(3) method2()должен быть при реализации объявлен как public
(4) F() должен использовать переменную как super.G
(5) method1()не должен быть при реализации объявлен как public
(6) B должен содержать свою собственную переменную G
Какое ключевое слово используется для обозначения блока обработки выброшенного исключения?
(1) try
(2) catch
(3) throw
(4) finally
(5) throws
Что будет выведено на экран в результате работы следующего фрагмента программы? int a = 9, i = -1; while (i < 3) { try { System.out.print(36 / a); } catch (ArithmeticException e) { System.out.print(36 / 2); } finally { System.out.print(a); } a -=3 ; i++; }
(1) сообщение об ошибке
(2) 4612
(3) 18
(4) 4966123180
(5) 461236 / 2
В каком случае может быть опущен блок catch для блока try?
(1) только при наличии блока finally
(2) только, если в блоке try обрабатывается одно исключение
(3) только, если в блоке try обрабатываются исключения одного типа
(4) блок catch всегда должен присутствовать
(5) в любых перечисленных случаях
(6) ни в каких случаях
Что будет выведено на экран в результате выполнения следующего фрагмента программы? int a = 42, i = 0; while (i < 3) { try { System.out.print(42 / a); } catch (ArithmeticException e) { System.out.print(42 / 2); } finally { System.out.print(42 / 1); } a -=7 ; i++; }
(1) 123
(2) 142142142
(3) 142142242
(4) 421422423
(5) будет выдано сообщение об ошибке
Какими начальными значениями должны быть проинициированы переменные a и i, чтобы следующий фрагмент кода выводил на экран последовательность 111236? while (i < 6) { try { System.out.print(42 / a); } catch (ArithmeticException e) { System.out.print(42 / 2); } a -=7 ; i++; }
(1) int a = 42, i = -1;
(2) int a = 42, i = 0;
(3) int a = 42, i = 1;
(4) int a = 35, i = 0;
(5) int a = 35, i = 1;
Что будет выведен на экран в результате работы следующего фрагмента программы? int i = 0; while (i < 5) { System.out.print(i); if (i > 2) try { throw new ArithmeticException ("ex"); } catch (ArithmeticException e) { System.out.print(i); break; } i++; }
(1) 01
(2) 012
(3) 0112
(4) 0122
(5) 01233
Какой пункт наиболее полно описывает, что происходит в программе в случае выполнения оператора throw?
(1) поток выполнения останавливается, выполняются последующие операторы, после чего просматривается ближайший включающий блок try с целью поиска оператора catch;
(2) поток выполнения останавливается, любые последующие операторы не выполняются, просматривается ближайший блок catch;
(3) поток выполнения останавливается, любые последующие операторы не выполняются, просматривается ближайший включающий блок try с целью поиска оператора catch;
(4) поток выполнения останавливается, любые последующие операторы не выполняются, просматривается самый внешний включающий блок try с целью поиска оператора catch;
(5) ни один вышеперечисленный
Какое изменение необходимо, чтобы программа выводила на экран последовательность 34555? 1 ... 2 while (i < 6) { 3 System.out.print(i); 4 if (i > 4) 5 try { throw new ArithmeticException ("ex"); } 6 catch (ArithmeticException e) { 7 System.out.print(i); 8 break; 9 } 10 finally { System.out.print(i); } 11 i++; 12 }
(1) int i = 4;
(2) int i = 5;
(3) int i = 3;
(4) int i = 2;
(5) никаких изменений вносить не нужно
Какие утверждения относительно блока finally верны?
(1) блок finally выполниться независимо от того, было ли выброшено исключение
(2) finally является обязательным блоком
(3) finally является обязательным блоком, если в блоке try порождается более одного исключения
(4) код, включенный в finally выполняется после завершения блока try/catch
(5) при наличии блока finally блок catch может отсутствовать
Каким может быть заголовок метода methods(), содержащего нижеприведенный программный код, чтобы вызывающая его программа могла корректно обрабатывать исключительные ситуации? if (i == 0) throw new NullPointerException("first"); ... if (i == 2) throw new NumberFormatException("second"); ... if (i == 4) throw new ClassCastException("third");
(1) void method () throws Exception
(2) void method () throws NullPointerException, NumberFormatException, ClassCastException
(3) private int method () throws NullPointerException, NumberFormatException
(4) public int method () throws NullPointerException, NumberFormatException, ClassCastException
(5) void method () throw NullPointerException, NumberFormatException, ClassCastException