Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Unix.docx
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
1.91 Mб
Скачать

8. Основные конструкции языка Java

8.1. Файлы классов, описание класса

Программы в Java строятся на объектах. Объекты создаются на основании классов. Класс - это описание свойств и методов объекта: каждый класс - в отдельном файле. Классы могут дополнительно объединятся в

пакеты, ориентируясь по назначению классов. Синтаксис описания класса приведен ниже:

Синтаксис:

модификатордоступа спецификаторы class имякласса extends имя_класса_родителя implements

имяинтерфейса

{

тело класса: его свойства и методы

л

Примеры:

1) public final class MyPlan extends Plan implements Administration { /* свойства класса, методы класса */ }

2) class Prosto { // свойства и методы класса }

Здесь скобки "{" и "}", называемые "начало блока" и "конец блока", означают начало и конец класса. Блоки

{ } используются в программах на Java для обозначения начала и конца любой конструкции или участка кода (например, конструкции IF..ELSE, цикла FOR и т.д.). Каждый оператор программы на Java внутри скобок { }, т.е. внутри описания класса или метода должна заканчиваться на точку с запятой ";". Конструкция /* */ означает начало и конец комментариев. Комментарии могут добавляться и при помощи символов // , которые означают, что, начиная с этого места и до конца строки, идет комментарий. Необходимо также помнить, что в Java различаются маленькие и большие буквы, так что MyPlan - это не то же самое, что и myPlan.

Значение модификаторов доступа класса приведено ниже:

Значение Описание

не указано public

Класс доступен только для объектов, находящихся в том же пакете.

Класс доступен для всех объектов. Класс public должен обязательно содержаться в файле, имеющем такое же название, что и имя класса.

Спецификаторы класса могут быть следующими:

Значение

Описание

final

Запрещено создание подклассов, на основании этого класса. Используется по соображениям

безопасности, чтобы, например, нельзя было подменить менеджер безопасности, создав на его

основе собственный объект и переопределив методы объекта.

abstract Абстрактный класс (хотя бы один метод объявлен, но не описан).

* Спецификаторы final и abstract несовместимы, т.е. класс не может быть одновременно final и abstract.

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

8.2. Типы данных, свойства класса, модификаторы доступа свойств и методов, массивы.

Описание свойства (переменной) происходит следующим образом:

Синтаксис:

модификатордоступа спецификаторы типданных имясвойства = первоначальноезначение ;

Примеры:

  1. public int primer = 100; // Создается public свойство с именем primer, типа int, и значением 100.

  2. private static byte primer2, primer3, primer4; // Описаны три свойства, типа byte.

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

Модификатор доступа

В рамках одного пакета

Из других пакетов

наследование

доступ

наследование

доступ

не указан

да

да

нет

нет

public

да

да

да

да

protected

да

да

да

нет

private

нет

нет

нет

нет

Здесь "наследование" означает возможность порождать от этого класса другие классы, наследуя его свойства и методы (в порожденных классах их не надо заново описывать), а "доступ" означает возможность создавать экземпляр класса, на основании этого класса.

Одновременно с модификаторами доступа, возможно использование спецификаторов свойств:

Значение Описание

final Задает константу (значение переменной не меняется в процессе выполнения программы).

Переменная может быть одновременно static и final.

Свойство может быть описано, как на уровне класса (глобальная переменная), так и на уровне метода. Свойство уровня класса описывается вне тела методов и существует, пока существует экземпляр класса. Все методы класса могут обращаться к такому свойству. Свойство уровня метода описывается внутри самого метода и существует только пока выполняется метод. Обращаться к нему из других методов нельзя. Ниже приведен пример, в котором свойство bigBrother описано на уровне класса, а свойство smallBrother описано на уровне метода, с именем Metod. Пример: Class Primer {

long bigBrother; // Свойство описано на уровне класса

void Metod ( ) {

short smallBrother; /* Свойство описано на уровне метода */ } }

Массивы:

Индексация в массиве начинается с 0. Индекс имеет тип "int". Таким образом, команда Massiv [ 3 ] [ 3 ] = 4; присваивает значение элементу массива, находящемся в 4-ой строке и 4-ом столбце. Объявление массива с заданием первоначальных значений:

Синтаксис: модификатордоступа типданных имямассива [ ] = {значение1, значение2, значение^; Пример: int Massiv [ ] = {123,17,29,15 }; // одномерный массив

public long Massiv [ ] [ ] = { {123,17,29,15 }, {17, 12, 3} }; // двумерный массив Объявление массива, с последующим его созданием: Синтаксис: модификатордоступа типданных имямассива [ ];

имямассива = new типданных [ числоэлементов ]; Пример: private int Massiv [ ]; // одномерный массив

Massiv = new int [ 4 ];

long Massiv [ ] [ ]; // двумерный массив

Massiv = new long [ 4 ] [ 3 ]; Объявление массива, одновременно с его созданием:

Синтаксис: модификатордоступа типданных имямассива [ ] = new типданных [ числоэлементов ]; Пример: int Massiv [ ] = new int [ 4 ]; // одномерный массив

private protected long Massiv [ ] [ ] = new long [ 4 ] [ 3 ]; // двумерный массив

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