Min: 1 |
Min: 2 |
Min: 3 |
Min: 3 |
Numbers: 4, 1 |
Numbers: 4, 2 |
Numbers: 4, 3 |
Numbers: 4, 4 |
Add: 5 |
Add: 6 |
Add: 7 |
Add: 8 |
Sub: 3 |
Sub: 2 |
Sub: 1 |
Sub: 0 |
Mul: 4 |
Mul: 8 |
Mul: 12 |
Mul: 16 |
Div: 4 |
Div: 2 |
Div: 1 |
Div: 1 |
Mod: 0 |
Mod: 0 |
Mod: 1 |
Mod: 0 |
And: 0 |
And: 0 |
And: 0 |
And: 4 |
Or: 5 |
Or: 6 |
Or: 7 |
Or: 4 |
Xor: 5 |
Xor: 6 |
Xor: 7 |
Xor: 0 |
Max: 4 |
Max: 4 |
Max: 4 |
Max: 4 |
Min: 1 |
Min: 2 |
Min: 3 |
Min: 4 |
Задание №5.
Вынесем код класса MySecondClass без изменений в отдельный файл с именем MyFirstPackage.java, и поместим его в поддиректорию myfirstpackage. В этом же файле добавим в начало строку принадлежности к пакету «package myfirstpackage;», установим модификатор доступа класса MySecondClass как public (это необходимо сделать, чтобы можно было подключить этот файл в любом пакете, в нашем случае в том, где лежит MyFirstProgram.java, иначе при модификаторе доступа по умолчанию MySecondClass будет доступен только для классов пакета myfirstpackage и не доступен в других). При компиляции этого файла получим сообщение об ошибке (рис. 6):
myfirstpackage/MyFirstPackage.java:3: error: class MySecondClass is public, should be declared in a file named MySecondClass.java
Сообщение говорит о том, что класс MySecondClass с модификатором доступа public должен находится в файле с тем же именем:
MySecondClass.java. Переименуем файл MyFirstPackage.java в MySecondClass.java.
Откомпилируем файл myfirstpackage/MySecondClass.java, затем файл
MyFirstProgram.java, предварительно добавив в его начало строчку «import
myfirstpackage.*» (рис. 6).
9
Рисунок 6 — Сообщение об ошибке, компиляция, список всех используемых файлов, успешный запуск
Задание №6.
Запустим программу jar, предназначенную для создания архивов, и ознакомимся с форматом задания её опций (рис. 7, табл. 5).
Рисунок 7 — Вывод jar в консоли при запуске без параметров Таблица 5 — Опции jar
|
|
|
Опция |
Описание опции |
|
-c |
Создать новый архив. |
|
-t |
Перечислить оглавление для архива. |
|
-x |
Извлечь из архива указанные (или все) файлы. |
|
-u |
Обновить существующий архив. |
|
-v |
Включить подробный вывод. |
|
-f <f> |
Указать имя архивного файла. |
|
-m |
Включить информацию о манифесте из указанного файла манифеста. |
|
-n |
Выполнить нормализацию Pack200 после создания нового архива |
|
-e <f> |
Указать точку входа приложения для автономного приложения, |
|
связанного в исполняемый файл jar. |
||
-0 |
Только хранение; не использовать сжатие ZIP. |
|
-P |
Сохранить ведущие компоненты '/' (абсолютный путь) и ".." |
|
(родительский каталог) из имен файлов. |
||
|
10
Не создавать файл манифеста для записей.
Генерировать индексную информацию для указанных файлов jar. Перейти в указанный каталог и включить указанный файл.
Если какой-либо файл является каталогом, то он обрабатывается рекурсивно.
Файл манифеста — это документ, который описывает содержимое пакета. Создадим его под названием MANIFEST.MF со следующим текстом:
Manifest-Version: 1.0 Created-By: Kovalenko Leonid Main-Class: MyFirstClass
В конце этого файла должен быть символ новой строки (т. е. в нашем случае должны быть 4 строки в файле).
JAR-файл — это Java-архив (сокращение от англ. Java ARchive). Представляет собой ZIP-архив, в котором содержится часть программы на языке Java.
Создадим Java-архив и запустим в JVM (рис. 8).
Рисунок 8 — Создание Java-архива и запуск Заключение
В результате выполнения лабораторной работы мы ознакомились со структурой исходного кода на Java, изучили особенности областей видимости и использования пакетов.
11