Результаты прохождения теста ООП в Java пользователем ilya201177

Результат прохождения теста "ООП в Java" - Пройден

+24

  • Кто проходил: ilya201177
  • Дата прохождения: 01.02.2019
Что будет в результате копиляции и выполнения следующего кода?
public class Okey extends D{  
   public static void doSome(int[]...a){ 
       for(int[] z:a){ 
           System.out.println(z[0]); 
       } 
   } 
   public static void main(String[] args) { 
       Okey o=new Okey(); 
       int[] a={7,5,48}; 
       int[] b={4,2,3}; 
       o.doSome(a,b); 
 
   } 
} 
class D{ 
   public static void doSome(int[]...a){ 
       for(int[] z:a){ 
           System.out.println(z[1]); 
       } 
   } 
}
Ваши ответы
7 4
Какой из вариантов лучше описывает отношение "У Человека есть лучший друг Собака"?
Ваши ответы
class Man { private Dog bestFriend; }
Что <u>позволяет</u> реализовать множественное наследование в Java?
Ваши ответы
интерфейсы
Какие буквы будут напечатаны при выполнении этой программы:
public class MyClass { 
 public static void main(String[] args) { 
   B b = new C(); 
   A a = b; 
   if (a instanceof A) System.out.println("A"); 
   if (a instanceof B) System.out.println("B"); 
   if (a instanceof C) System.out.println("C"); 
   if (a instanceof D) System.out.println("D"); 
 } 
} 
 
class A {} 
class B extends A {} 
class C extends B {} 
class D extends C {} 
Ваши ответы
C
B
A
Что произойдет при попытке скомпилировать и запустить следующий код:
class Box { 
   int b,w; 
   void Box(int b, int w) { 
       this.b = b; 
       this.w = w; 
   } 
} 
public class MyBox extends Box { 
   MyBox() { 
       super(10, 15); 
       System.out.println(b + "," + w); 
   } 
   static public void main(String args[]) { 
       MyBox box = new MyBox(); 
   } 
} 
Ваши ответы
ничего из выше перечисленного
Объяснение:

Код не скомпилируется, поскольку класс Box не имеет конструктора Box(int b,int w) - там объявлен обычный метод void Box(int b,int w), но с именем, как у класса.

Каким будет вывод после выполнения данной программы?
class A { } 
class B extends A { } 
abstract class C { 
   abstract void doAction(A a); 
   void start(A a){ 
       doAction(a); 
   } 
} 
class D extends C { 
   void doAction(A a) { 
       System.out.println("A action"); 
   } 
   void doAction(B b) { 
       System.out.println("B action"); 
   } 
} 
public class Test { 
   public static void main(String[] args) { 
       new D().start(new B()); 
   } 
} 
Ваши ответы
A action
Какая первая строка в этой программе станет причиной ошибки компиляции:
class MyClass { 
 public static void main(String[] args) { 
   MyClass a; 
   MySubclass b; 
 
   a = new MyClass();             // (1) 
   b = new MySubclass();          // (2) 
 
   a = b;                         // (3) 
   b = a;                         // (4) 
 
   a = new MySubclass();          // (5) 
   b = new MyClass();             // (6) 
 } 
} 
class MySubclass extends MyClass { } 
Ваши ответы
4
Что произойдет в результате компиляции и выполнения данного кода ?
class Top{} 
class Sub extends Top{} 
public class Test{ 
 public static void main(String[] args){ 
   Top t = new Top(); 
   Sub s = (Sub) t; 
  } 
} 
Ваши ответы
Ошибка компиляции
Объяснение:

Объект Предка не может быть приведен к объекту Потомка. ClassCastException

Абстрактный класс и интерфейс - это типы с абстрактным контрактом. Тем не менее между ними имеются существенные различия.<br><br> Какие из следующих утверждений верны для Java 8 ?
Ваши ответы
В отличие от классов, множественное наследование интерфейсов допускается.
Интерфейс может содержать protected и static члены, а абстрактный класс нет.
Есть код:
interface Square{ 
   double square(); 
} 
interface Perimeter{ 
   double perimeter(); 
} 
public class Overload { 
 
   public static void main(String[] args) { 
       Square s=new Circle(5); 
   } 
} 
 
class Circle implements Square, Perimeter{ 
   double r; 
   Circle(double r){ 
       this.r=r; 
   } 
   public double perimeter() {     
       return 2*Math.PI*r; 
   } 
 
   public double square() { 
       return Math.PI*r*r; 
   } 
 
}
С помощью какого кода можно посчитать периметр круга?(выберите один или более вариантов)
Ваши ответы
Perimeter p=s; p.perimeter();
Perimeter p=(Perimeter)s; p.perimeter();