Sem II (Program I) - N7 Flashcards

1
Q

Как можно избежать конфликтов имён в пакетах?

A

Конфликты имён можно разрешить, используя полное квалифицированное имя класса (например, paket.Klasse).

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

Werden Unterpakete beim Import mit import paket.* mitimportiert?

A

Нет, подпакеты должны импортироваться отдельно.

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

Können einzelne Klassenmethoden oder Variablen importiert werden?

A

Ja, mit import static. Beispiel: import static java.lang.Math.sqrt;.

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

Was passiert, wenn kein Paket definiert wird?

A

Wenn kein Paket definiert wird, gehören alle Klassen im selben Verzeichnis automatisch zum anonymen oder Standard-Paket.

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

Какие модификаторы доступа существуют в Java и как они действуют?

A

public: доступ отовсюду.
protected: доступ внутри того же пакета и в подклассах.
default: доступ только внутри того же пакета.
private: доступ только внутри того же класса.

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

Какова цель модификаторов доступа в Java?

A

Модификаторы доступа определяют, какие классы могут получать доступ к полям данных и методам. Это служит для контроля видимости и защиты данных в приложении.

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

Wie funktioniert der Zugriffsschutz für Methoden in Schnittstellen?

A

В интерфейсах все методы и поля данных автоматически public, в противном случае это приведет к ошибке компиляции.

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

Wie werden Zugriffsmodifikatoren beim Überschreiben von Methoden gehandhabt?

A

При переопределении модификаторы доступа могут быть только смягчены, но не сделаны более строгими. Порядок следующий: private → default → protected → public.

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

public JAVA

A

доступ отовсюду модификатор

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

protected JAVA

A

доступ внутри того же пакета и в подклассах JAVA

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

default JAVA

A

доступ только внутри того же пакета

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

private JAVA

A

доступ только внутри того же класс

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

доступ отовсюду модификатор JAVA

A

public JAVA

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

доступ внутри того же пакета и в подклассах JAVA

A

protected JAVA

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

доступ только внутри того же пакета JAVA

A

default JAVA

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

доступ только внутри того же класс JAVA

A

private JAVA

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

Wie verhält sich ein parameterloser Default-Konstruktor hinsichtlich der Sichtbarkeit?

A

Видимость конструктора по умолчанию соответствует видимости класса (например, public или default).

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

Welche Vorteile bietet der „protected”-Modifikator?

A

Он позволяет комбинировать защиту пакета и наследования, разрешая доступ как внутри пакета, так и из подклассов других пакетов.

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

Что следует учитывать при реализации интерфейсов классами?

A

Класс, реализующий интерфейс, должен определить все методы этого интерфейса, причем видимость должна быть не менее public.

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

Как можно использовать защиту доступа для соблюдения шаблонов проектирования, таких как Singleton?

A

Durch einen privaten Konstruktor wird sichergestellt, dass nur eine Instanz der Klasse erzeugt werden kann.

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

Что такое пакет в Java и для чего он служит?

A

Пакет является самой крупной структурной единицей в Java. Он содержит классы, интерфейсы и подпакеты. Обеспечивает защиту доступа и определяет пространство имен.

22
Q

Какие компоненты может содержать пакет?

A

Пакет может содержать классы, интерфейсы и подпакеты.

23
Q

Почему документирование интерфейсов (методов) важно?

A

Без тщательной документации реализация в классе остается неясной.

24
Q

Какие теги часто используются в комментариях Javadoc?

A

Часто используемые теги, например, @version.

25
**Что такое аннотации в Java?**
**Аннотации представляют собой метаданные, содержащие информацию для компилятора, среды выполнения или других инструментов.**
26
**Was macht volgendes vordefinierten Annotationen java.lang @Override?**
**Проверяет, переопределяется ли метод. Если нет, выдается ошибка.**
27
**Was macht volgendes vordefinierten Annotationen java.lang @Deprecated?**
**Отмечает метод как устаревший При использовании такого метода компилятор выдает предупреждение.**
28
**Was macht volgendes vordefinierten Annotationen java.lang @SuppressWarnings?**
**Эта аннотация подавляет определенные предупреждения компилятора, например, для неиспользуемых переменных с помощью @SuppressWarnings("unused"). Ее следует использовать осторожно.**
29
**Что такое анонимные пакеты?**
**Пакеты без явного имени, используемые по умолчанию, когда определение пакета не производится.**
30
**Виден ли класс без модификатора доступа в подпакетах своего пакета?**
**Нет, default ограничивает доступ только тем же пакетом.**
31
**Может ли метод по умолчанию в подклассе быть переопределен как частный метод?**
**Нет, доступ не может быть сделан более ограничительным.**
32
**Каковы общие рекомендации по использованию модификаторов доступа?**
**Поля данных: по возможности private, использовать сеттеры/геттеры. Методы: только public, если они являются методами интерфейса.**
33
**Что следует документировать?**
**Функционирование методов, значение параметров, возвращаемые значения и выброшенные исключения.**
34
**Какие инструменты поддерживают документацию из исходного кода?**
**Doxygen, DOC++, Javadoc (Standard für Java, Teil des JDKs).**
35
**Как работает Javadoc?**
**Doc-комментарии в исходном тексте преобразуются в HTML-документацию, также поддерживаются другие форматы через Doclets.**
36
**Какие основные правила действуют для комментариев Javadoc?**
Обрамление с помощью /** */, использование тегов Javadoc (@param, @return, @throws и др.), и HTML-синтаксис для спецсимволов или форматирования.
37
**Какие командные строки важны для Javadoc?**
**javadoc Dateiname.java генерирует документацию. Несколько файлов могут быть указаны через пробел.**
38
**Как создавать чистую и понятную документацию?**
**Фокус на методах интерфейса, четкое описание параметров, возвращаемых значений и возможных ошибок.**
39
**Was ist der Unterschied zwischen einer statischen und einer dynamischen Datenstruktur??**
**Статические структуры данных имеют фиксированный размер**. **Динамические структуры данных могут расти или уменьшаться во время выполнения программы**
40
**Wie wird ein Stack mit einer verketteten Liste implementiert?**
С помощью **узла (Node)**, который **содержит поле data и поле next.** Операция **push() добавляет** новый элемент, а **pop() удаляет верхний элемент.**
41
**Zählen Sie typische Anwendungen eines Stacks auf.**
**Управление вызовами методов** в языках программирования (**рекурсивные методы**). **Возврат (бэктрекинг) в алгоритмах.** **Управление памятью в многозадачных системах.**
42
**Was ist eine Queue(очередь)?**
**Структура данных типа FIFO (первым вошел - первым вышел)**, где **первый добавленный** элемент удаляется первым.
43
**Wie wird eine Queue als verkettete Liste implementiert?**
Два указателя **(first, last) указывают на начало и конец списка**. **enqueue() добавляет элемент в конец**, а **dequeue() удаляет первый элемент.**
44
**Welche Methoden sollte eine Queue implementieren?**
**enqueue(x):** Добавляет элемент в конец **dequeue():** Удаляет первый элемент и возвращает его значение. **isEmpty():** Проверяет, пуста ли очередь. **search(x):** Ищет элемент и возвращает его индекс, если он найден.
45
**Какие применения имеет очередь?**
**-** Управление очередью печати. **-** Планирование задач в операционных системах. **-** Управление потоком данных в сетях.
46
**Was ist eine Warteschlange (Queue) in der Programmierung?**
Структура данных, в которой **элементы обрабатываются в порядке их поступления (FIFO - First In, First Out).**
47
**Welche Arten von Warteschlangen gibt es?**
**- Приоритетные очереди:** элементы принимаются с учетом их приоритета. **- Блокирующие очереди:** когда очередь заполнена, ожидается освобождение места. **- Блокирующие очереди с приоритетами:** комбинация двух вышеупомянутых типов.
48
**LIFO (Last In, First Out)**
**последний добавленный элемент удаляется первым (например, стек).**
49
**FIFO (First In, First Out)**
**первый добавленный элемент удаляется первым (например, очередь).**
50
**Welche Vorteile bietet eine verkettete Liste gegenüber einem Array?**
**-** Динамический размер, без предварительного определения емкости. **-** Вставка/удаление элементов более эффективна (без копирования, постоянная сложность O(1)).