wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Java 151-200

Total questions: 50

Worksheet time: 25mins

Name
Class
Date
1.

Как обычно называют геттер?

a)

getИмяПоля()

b)

setИмяПоля()

c)

showИмяПоля()

d)

readИмяПоля()

e)

printИмяПоля()

2.

Как обычно называют сеттер?

a)

setИмяПоля(значение)

b)

getИмяПоля()

c)

changeИмяПоля()

d)

writeИмяПоля()

e)

updateИмяПоля()

3.

Ключевое слово this ссылается на

a)

текущий объект

b)

родительский класс

c)

статический метод

d)

новый объект

e)

имя класса

4.

Имя конструктора должно

a)

полностью совпадать с именем класса

b)

быть main

c)

начинаться с new

d)

быть произвольным

e)

начинаться с create

5.

Можно ли иметь несколько конструкторов в одном классе?

a)

да, перегрузка конструкторов разрешена

b)

нет, только один конструктор

c)

только один без параметров

d)

только один с параметрами

e)

только копирующий конструктор

6.

Порядок инициализации при создании объекта

a)

поля → блок инициализации → тело конструктора

b)

конструктор → поля → блок

c)

main → поля → конструктор

d)

static-блок → поля → конструктор

e)

finalize → поля → конструктор

7.

Методы класса описывают

a)

поведение объекта

b)

состояние объекта

c)

идентификатор объекта

d)

наследника объекта

e)

пакет объекта

8.

Как в NetBeans быстро создать новый класс?

a)

File → New File → Java Class

b)

Run → New Project

c)

Tools → Create Class

d)

Debug → New Class

e)

Window → New Class

9.

Что выведет код? 
   ```java 
   class Test { 
   private String s = "Исходное"; 
   { s = "Блок инициализации"; } 
   Test() { s = "Конструктор"; } 
   public String getS() { return s; } 
   } 
   public class Main { 
   public static void main(String[] args) { 
   System.out.println(new Test().getS()); 
   } 
   } 
   ``` 

a)

Конструктор

b)

Блок инициализации

c)

Исходное

d)

null

e)

ошибка компиляции

10.

Что выведет код? 
   ```java 
   class A { 
   private int x = 10; 
   A() { this(5); x = 20; } 
   A(int x) { this.x = x; } 
   public int getX() { return x; } 
   } 
   public class Main { 
   public static void main(String[] args) { 
   System.out.println(new A().getX()); 
   } 
   } 
   ```

a)

5

b)

10

c)

20

d)

рекурсия

e)

ошибка: this() должен быть первым

11.

Какое ключевое слово используется для наследования класса в Java?

a)

extends

b)

implements

c)

inherits

d)

super

e)

include

12.

Как называется класс, от которого наследуются?

a)

родительский класс (суперкласс)

b)

дочерний класс (подкласс)

c)

интерфейс

d)

абстрактный класс

e)

финальный класс

13.

Как называется класс, который наследует?

a)

дочерний класс (подкласс)

b)

родительский класс

c)

главный класс

d)

базовый класс

e)

корневой класс

14.

Какое ключевое слово используется для вызова конструктора родителя?

a)

super()

b)

this()

c)

parent()

d)

base()

e)

extends()

15.

Какое ключевое слово используется для вызова метода родителя?

a)
super.метод()
b)

this.метод()

c)

parent.метод()

d)

base.метод()

e)

extends.метод()

16.

Переопределение метода в дочернем классе обозначается аннотацией

a)

@Override

b)

@Overload

c)

@Inherited

d)

@Super

e)

@Extends

17.

Какой модификатор запрещает наследование класса?

a)

final

b)

private

c)

static

d)

abstract

e)

protected

18.

Какой модификатор запрещает переопределение метода?

a)

final

b)

private

c)

static

d)

abstract

e)

public

19.

Полиморфизм в Java --- это

a)

способность объекта вести себя по-разному в зависимости от фактического типа

b)

наличие нескольких методов с одинаковым именем

c)

сокрытие данных

d)

создание копий объектов

e)

преобразование типов

20.

Как называется возможность присваивать объект подкласса переменной суперкласса?

a)

полиморфизм (восходящее преобразование)

b)

нисходящее преобразование

c)

инкапсуляция

d)

перегрузка

e)

статический полиморфизм

21.

Какое ключевое слово запрещает создание объектов класса, но разрешает наследование?

a)

abstract

b)

final

c)

static

d)

private

e)

protected

22.

Можно ли наследоваться от нескольких классов в Java?

a)

нет, только от одного класса

b)

да, сколько угодно

c)

да, но только через implements

d)

да, только через интерфейсы

e)

да, только если они final

23.

Какой класс является родителем всех классов в Java?

a)

Object

b)

Class

c)

System

d)

Main

e)

Root

24.

Метод toString() наследуется от класса

a)

Object

b)

String

c)

System

d)

Throwable

e)

Runtime

25.

Метод equals() и hashCode() рекомендуется переопределять вместе из класса

a)

Object

b)

String

c)

Integer

d)

Class

e)

System

26.

Если в дочернем классе не вызвать super() в конструкторе, то

a)

автоматически вызывается конструктор без параметров родителя

b)

будет ошибка компиляции

c)

вызывается конструктор с параметрами

d)

вызывается Object()

e)

ничего не вызывается

27.

Какой аннотацией помечается метод, который должен быть переопределён в подклассе?

a)

@Override

b)

@MustOverride

c)

@Abstract

d)

@Required

e)

@ForceOverride

28.

Динамический полиморфизм реализуется через

a)

переопределение методов и ссылки суперкласса

b)

перегрузку методов

c)

статические методы

d)

private методы

e)

final методы

29.

Что выведет код? 
   ```java 
   class A { public String show() { return "A"; } } 
   class B extends A { public String show() { return "B"; } } 
   class C extends B { public String show() { return "C"; } } 
   public class Main { 
   public static void main(String[] args) { 
   A obj = new C(); 
   System.out.println(obj.show()); 
   } 
   } 
   ```

a)

C

b)

A

c)

B

d)

ABC

e)

ошибка выполнения

30.

Скомпилируется ли и что выведет? 
   ```java 
   class Parent { 
   private void hello() { System.out.println("Parent"); } 
   } 
   class Child extends Parent { 
   public void hello() { System.out.println("Child"); } 
   } 
   public class Main { 
   public static void main(String[] args) { 
   Parent p = new Child(); 
   // p.hello(); // раскомментировать 
   } 
   } 
   ```

a)

не скомпилируется (private метод нельзя переопределить)

b)

выведет Child

c)

выведет Parent

d)

ошибка во время выполнения

e)

скомпилируется, но ничего не выведет

31.

Как объявляется абстрактный класс?

a)

abstract class ИмяКласса

b)

interface ИмяКласса

c)

final class ИмяКласса

d)

public class ИмяКласса

e)

static class ИмяКласса

32.

Можно ли создать объект абстрактного класса?

a)

Нельзя, создание объектов запрещено

b)

Можно, обычным new

c)

Только в статическом блоке

d)

Только через интерфейс

e)

Только в финальном классе

33.

Что такое абстрактный метод?

a)

Метод без тела, только объявление

b)

Метод с телом, но без возврата

c)

private метод

d)

static метод

e)

final метод

34.

Где обязательно реализовать абстрактный метод?

a)

В конкретном дочернем классе

b)

В самом абстрактном классе

c)

В интерфейсе

d)

В классе Object

e)

В классе Main

35.

Как объявляется интерфейс?

a)

interface ИмяИнтерфейса

b)

abstract class ИмяИнтерфейса

c)

public interface ИмяИнтерфейса

d)

class ИмяИнтерфейса

e)

enum ИмяИнтерфейса

36.

До Java 7 в интерфейсе могли быть только

a)

абстрактные методы и константы

b)

конструкторы

c)

обычные поля

d)

private методы

e)

статические блоки

37.

С Java 8 в интерфейсах появились

a)

default- и static-методы с реализацией

b)

конструкторы

c)

private поля

d)

final методы

e)

protected методы

38.

С Java 9 в интерфейсах появились

a)

private методы

b)

protected методы

c)

final поля

d)

конструкторы

e)

обычные статические поля

39.

Как класс реализует интерфейс?

a)

implements ИмяИнтерфейса

b)

extends ИмяИнтерфейса

c)

inherits ИмяИнтерфейса

d)

uses ИмяИнтерфейса

e)

include ИмяИнтерфейса

40.

Может ли один класс реализовать несколько интерфейсов?

a)

Да, через запятую в implements

b)

Нет, только один интерфейс

c)

Только один абстрактный класс

d)

Только один финальный класс

e)

Только Object

41.

Главное отличие абстрактного класса от интерфейса

a)

В абстрактном классе могут быть поля-состояния (до Java 8 в интерфейсах их не было)

b)

В интерфейсе есть конструктор

c)

В абстрактном классе нет default-методов

d)

Интерфейс наследуется через extends

e)

Абстрактный класс реализуется через implements

42.

Где можно писать реализацию default-метода?

a)

Прямо в интерфейсе

b)

Только в дочернем классе

c)

Только в абстрактном классе

d)

Только в Object

e)

Только в Main

43.

Если не переопределить метод интерфейса

a)

будет использована default-реализация (если есть)

b)

ошибка компиляции

c)

метод останется абстрактным

d)

возьмётся из Object

e)

ничего не выполнится

44.

Маркерный интерфейс --- это

a)

интерфейс без методов (например, Serializable)

b)

только с default-методами

c)

только с private-методами

d)

только со static-методами

e)

только с абстрактными методами

45.

Функциональный интерфейс --- это

a)

интерфейс ровно с одним абстрактным методом

b)

с несколькими default-методами

c)

без методов вообще

d)

только со static-методами

e)

с конструктором

46.

Для чего нужна аннотация @FunctionalInterface?

a)

Чтобы компилятор проверил наличие ровно одного абстрактного метода

b)

Для записи лямбда-выражений

c)

Чтобы скрыть default-методы

d)

Чтобы сделать интерфейс final

e)

Чтобы сделать интерфейс abstract

47.

197. Константы в интерфейсе объявляются как

a)

public static final (автоматически)

b)

private int x

c)

protected String s

d)

default double d

e)

void const

48.

Главное отличие абстрактного класса от обычного

a)

В нём могут быть абстрактные методы

b)

В обычном нет конструктора

c)

В абстрактном нет полей

d)

В обычном нельзя наследоваться

e)

В абстрактном нельзя final-методы

49.

Что выведет код? 
   ```java 
   interface A { default void show() { System.out.println("A"); } } 
   interface B { default void show() { System.out.println("B"); } } 
   class C implements A, B { 
   public void show() { A.super.show(); } 
   } 
   public class Main { 
   public static void main(String[] args) { 
   new C().show(); 
   } 
   } 
   ```

a)

A

b)

B

c)

AB

d)

ошибка компиляции

e)

ошибка выполнения

50.

Скомпилируется ли код? 
   ```java 
   abstract class X { 
   abstract void test(); 
   } 
   interface Y { 
   default void test() { System.out.println("Y"); } 
   } 
   class Z extends X implements Y { } // test() не реализован 
   public class Main { 
   public static void main(String[] args) { 
   new Z().test(); 
   } 
   } 
   ```

a)

Да, будет использован default-метод из Y

b)

Нет, абстрактный метод обязательно нужно реализовать

c)

Да, но ничего не выведет

d)

Нет, конфликт множественного наследования

e)

Нет, default-метод нужно обязательно переопределить