ООП 2 Flashcards

1
Q

оператор instanceof

A

Оператор instanceof возвращает true, если объект является экземпляром класса или его потомком.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Зачем нужны и какие бывают блоки инициализации?

A

Наборы выражений инициализации полей, заключенные в фигурные скобки и размещаемые внутри класса вне объявлений методов или конструкторов.
Бывают статические и нестатические блоки инициализации.
Если блоков инициализации несколько, они выполняются в порядке следования в тексте класса.
Блок инициализации способен генерировать исключения.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Можно ли объявить метод абстрактным и статическим одновременно?

A

Нет.
Модификатор abstract говорит, что метод будет реализован в другом классе, а static наоборот указывает, что этот метод будет доступен по имени класса.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

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

A

класс, на основе которого не могут создаваться объекты

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

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

A

Метод, который не имеет реализации. Если в классе есть хотя бы один абстрактный метод, то весь класс должен быть объявлен абстрактным.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

ключевое слово static

A

Метод или поле класса принадлежат не объекту, а классу.
Т.е. доступ можно будет получить и не создавая объекта класса.
Поля помеченные static инициализируются при инициализации класса.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

ограничение статических методов

A

Статические методы:
- могут вызывать только другие статические методы.
- должны осуществлять доступ только к статическим переменным.
- не могут ссылаться на члены типа this или super.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Можно ли перегрузить static метод?

A

Перегрузить можно, но переопределить нельзя.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

статический класс

A

Это вложенный класс, который может обращаться только к статическим полям обертывающего его класса, в том числе и приватным.
Доступ к нестатическим полям обрамляющего класса может быть осуществлен только через ссылку на экземпляр обрамляющего объекта.
К классу высшего уровня модификатор static неприменим.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

особенности инициализации final static переменных

A

Переменные должны быть инициализированы во время объявления или в static блоке.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

ключевое слово final

A

Для класса.
- Класс помеченный при помощи final не может иметь наследников.
Для метода.
- Метод помеченный при помощи final не может быть переопределен в классах наследниках.
Для поля.
- Поле помеченное при помощи слова final не может изменить свое значение после инициализации.
Для метода.
- Значение локальных переменных, а так же параметров метода помеченных при помощи слова final не могут быть изменены после присвоения.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

интерфейс

A

Полностью абстрактный класс.
Создатель интерфейса определяет имена методов, списки аргументов и типы возвращаемых значений, но не тела методов (с определёнными исключениями).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

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

A

Поля интерфейса автоматически являются public static final.
Все методы неявно объявляются как public.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

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

A

Абстрактные методы
Default-методы
Статические методы
Приватные методы

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

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

A
  1. Наследование (Единственное | Множественное )
  2. Поля (Любые | Только public static final)
  3. Методы (Любые | Abstract, default, static, private)
  4. Модификаторы методов (Любые | public / private)
  5. Конструкторы (Да | Нет)
  6. Использование в лямбдах (Нет | Да)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly