Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
JAVA_Ekz_voprosy.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
718 Кб
Скачать
☆
  1. Классы Java. Конструкторы, методы, наследование классов, управление доступом к методам и переменным класса, ключевые слова this и super.

Классы. Базовым элементом объектно-ориентирован­ного программирования в языке Java являет­ся класс. Классы в Java не обязательно должны содержать метод main. Единственное назначение этого метода — указать интерпретатору Java, откуда надо начинать выполнение программы. Для того чтобы создать класс, достаточно иметь исходный файл, в котором будет присутствовать ключевое слово class, и вслед за ним — допустимый идентификатор и пара фигурных скобок для его тела. Имя исходного файла Java должно соответствовать имени хранящегося в нем класса.

public class AAA {//class body}

Переменные (instance variables). Переменные инкапсулируются в класс путем объявления переменных между открывающей и закрывающей фигурными скобками, выделяющими в определении класса его тело.

public class AAA {

private float x;//закрытая

public double y;//открытая

protected int n;//защищённая

public static char c;//открытая статическая

}

Оператор new. Оператор new создает экземпляр указанного класса и возвращает ссылку на вновь созданный объект.

Объявление методов. Методы - это подпрограммы, присоединенные к конкретным определениям классов. Они описываются внутри определения класса на том же уровне, что и переменные объектов. При объявлении метода задаются тип возвращаемого им результата и список параметров. Методы могут быть статическими (CPP, C#), могут перегружаться (CPP, C#), могут возвращать или не возвращать (void) значение (CPP, C#).

Конструкторы. Для инициализации переменных класса в Java предусмотрены специальные методы, называемые конструкторами. Конструктор — это метод класса, который инициализирует новый объект после его создания. Имя конструктора всегда совпадает с именем класса, в котором он расположен (СPP, C#). У конструкторов нет типа возвращаемого результата(СPP, C#). Конструктор может иметь параметры и может перегружаться.

Наследование – одна из фундаментальных парадигм объектно-ориентированного подхода (еще абстракция, инкапсуляция, полиморфизм). Классы-потомки имеют возможность не только создавать свои собственные переменные и методы, но и наследовать переменные и методы классов-предков. Классы-потомки принято называть подклассами. В языке Java ради обеспечения высокой производительности и большей ясности исходного кода множественное наследование не реализовано. Непосредственного предка данного класса называют его суперклассом.

Ключевое слово this - ссылка класса самого на себя.

Ключевое слово super – ссылка на суперкласс.

  1. Пакеты классов, понятие иерархии пакетов, переменная окружения classpath, инструкции package и import. Jar-архивы. Состав jar-архивов. Применение jar-архивов.

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

Оператор package - сообщает транслятору, в каком пакете должны определяться содержащиеся в данном файле классы. Если оператор package не указан, классы попадают в безымянное пространство имен, используемое по умолчанию. Если имя пакета pack1, то исходный файл, должен находится в директории XXX/pack1, где XXX – путь, определяющий корневой каталог, относительно которого выстраиваются каталоги пакетов. Каталог, который javac/java будет рассматривать в качестве корневого определяется с помощью переменной окружения CLASSPATH. С помощью переменной окружения CLASSPATH можно задать несколько корневых каталогов, разделив их точкой с запятой (как значение переменной окружения PATH).

Использование класса, расположенного в пакете.

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

На каждом уровне пакетов может находиться любое количество файлов

import - оператор, позволяющий сократить имена классов, расположенных в пакетах

Уровни доступа к классу его элементам регулируется с помощью ключевых слов public, protected, private. Элемент, объявленный public, доступен из любого места. Все, что объявлено private, доступно только внутри класса, и нигде больше. Если у элемента вообще не указан модификатор уровня доступа, то такой элемент будет виден из подклассов и классов того же пакета (такой уровень доступа используется в языке Java по умолчанию). Если необходимо, чтобы элемент был доступен извне пакета, но только подклассам того класса, которому он принадлежит, вам нужно объявить такой элемент protected. Если требуется, чтобы элемент был доступен только подклассам, причем независимо от того, находятся ли они в данном пакете или нет — применяется комбинация private protected.

Запуск на исполнение в командной строке требует установки переменной окружения CLASSPATH, указывающей на корни пакетов, либо применения ключа –сp, имеющего то же предназначение.

Компиляция в командной строке, требует установки ключа –classpath, указывающего на корни пакетов

JAR-архивы – файлы с упакованными данными (текстовые файлы, class-файлы, файлы с графической информацией и пр.), которые обычно используются для хранения частей java-программ. Применение JAR-архивов позволяет:

    1. повысить эффективность загрузки: вместо нескольких файлов отдельных классов загружается единственный файл JAR-архива;

    2. улучшить хранилище файлов: файлы классов хранятся в одном сжатом файле архива;

    3. обеспечить независимость от платформы: построение JAR-архивов базируется на использовании популярной программы PKZIP сжатия файлов; JAR-файлы могут создаваться и сохраняться на любой компьютерной платформе;

    4. повысить защищенность: в JAR-файл можно поместить цифровую подпись, гарантирующую пользователю целостность архива.

Создание JAR-архивов возможно с помощью любой поддерживающей формат PKZIP программы. JAR-файл отличается от zip-файла наличием дополнительного текстового файла, называемого файлом описания (manifest file). Этот файл содержит сведения обо всех помещённых в данный архив файлах. В состав файла описания должны входить определённые элементы, в частности он должен включать:

  • номер версии стандарта JAR (Manifest-Version);

  • минимальный номер версии утилиты JAR, которая сможет прочитать этот архив (Required-Version);

  • отдельная запись для любого, помещённого в архив файла.

В составе JDK (Java Developer Kit) для создания JAR архивов есть специализированная утилита с именем jar.

Перечень параметров утилиты jar и формат ее вызова может быть получен с помощью запуска утилиты без параметров.

Архивирование пакетов

Базовый формат команды для создания JAR-файла

Вызов утилиты jar, приведенный на рисунке создает jar-файл с именем AAA.jar, с упакованными в него файлами AAA.class, BBB.class и CCC.class, а также файлом MANIFEST.MF.

Получить содержимое jar-файла можно с помощью следующей команды.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]