- •Объектно-ориентированное программирование (общие сведения).
- •Атрибуты объекта в ооп.
- •Преимущества многократного использования кода, понятие модульности, ее реализация.
- •Возможности и назначение jvm.
- •Особенности проектирования программ в Java.
- •Объектная модель Java.
- •Пакет java.Lang.
- •Назначение и состав библиотек классов Java.
- •Особенности управления программами в Java.
- •Порядок выполнения программ в Java
- •Понятие превращения программ Java в исполняемый код.
- •Принцип инкапсуляции в java
- •Принцип наследования в Java
- •Понятие о классах в java
- •Реализация процедуры в java
- •Понтие функции в java
- •Возвращаемые значения в функциях.
- •Передача параметров в java.
- •Атрибуты класса
- •Способы создания и обработка массивов данных
- •Операторы прерывания программ, основные типы ошибок
- •Типы переменных в java
- •Особенности объявления переменных в java
- •Объявление массива данных в java
- •Логические операторы java
- •Операции и конструкции сравнения в java
- •Проектирование программ и состав модулей
- •Организация циклов в java
- •Понятие интерфейсов в java
- •Возможности java по работе с файлами
- •Потоки выполнения и синхронизация.
- •Виды встроенных классов.
- •Понятие коллекций, списков и итераторов.
- •Управление ходом выполнения программ.
- •Работа со стороками.
- •Сериализация объектов.
- •Создание объекта-исключения.
- •Использование модификаторов доступа.
- •Организация доступа к файлам.
- •Интерфейсы.
- •Основные отличия интерфейсов от классов.
- •Особенности наследования интерфейсов.
- •Базовые классы при работе с потомками выполнения в Java.
- •Базовые классы реализации ввода/вывода данных.
- •Объектные и ссылочные типы данных Java.
- •Понятие компиляции проекта в Java.
- •Способы создания модульного компонента в Java.
- •Работа "сборщика мусора".
- •Понятие преобразования типов в Java.
- •1. Виды преобразований
- •1.1. Расширяющие преобразования чисел
- •1.2. Сужающие преобразования чисел
- •1.3. Расширяющие преобразования ссылок
- •1.4. Сужающие преобразования ссылок
- •1.5. Преобразования в строки
- •1.6. Недопустимые преобразования
- •2. Контексты преобразований
- •2.1. Преобразование при присваивании
- •5.4.2.2. Преобразование аргументов метода
- •5.4.2.3. Преобразование в строку
- •5.4.2.4. Явное преобразование типа
- •5.4.3. Преобразования типов числовых операндов
Передача параметров в java.
Атрибуты класса
Все монеты из предыдущего примера принадлежат одному и тому же классу объектов (именно с этим связана их одинаковость). Номинальная стоимость монеты, металл, из которого она изготовлена, форма - это атрибуты класса. Совокупность атрибутов и их значений характеризует объект. Наряду с термином "атрибут" часто используют термины "свойство" и "поле", которые в объектно-ориентированном программировании являются синонимами.
Все объекты одного и того же класса описываются одинаковыми наборами атрибутов. Однако объединение объектов в классы определяется не наборами атрибутов, а семантикой. Так, например, объекты "конюшня" и "лошадь" могут иметь одинаковые атрибуты: цена и возраст. При этом они могут относиться к одному классу, если рассматриваются в задаче просто как товар, либо к разным классам, если в рамках поставленной задачи будут использоваться по-разному, т.е. над ними будут совершаться различные действия.
Объединение объектов в классы позволяет рассмотреть задачу в более общей постановке. Класс имеет имя (например, "лошадь"), которое относится ко всем объектам этого класса. Кроме того, в классе вводятся имена атрибутов, которые определены для объектов. В этом смысле описание класса аналогично описанию типа структуры или записи (record), широко применяющихся в процедурном программировании; при этом каждый объект имеет тот же смысл, что и экземпляр структуры (переменная или константа соответствующего типа).
Способы создания и обработка массивов данных
Все массивы в яве являются объектами и их тип напрямую наследуется от класса Object. Поэтому все элементы данного класса становятся доступными у объектов массивов. Базовый тип также может быть массивом, что позволяет конструировать многомерные массивы.
При объявлении массивов сначала указывается базовый тип, затем имя переменной, а количество пар квадратных скобок указывает на размерность массива. Описание переменной типа массив не создает экземпляры этого массива. Для их создания необходимо использовать ключевое слово new. Переменная инициализируется ссылкой на созданный массив, а индекс меняется от 0 до максимально допустимого значения на 1 меньшего длины массива. При этом при этом одна переменная может ссылаться на массивы различной длины. Для объекта массива длина должна указываться при создании и в дальнейшем не меняется. В качестве базового типа может использоваться любой тип ява ,в том числе интерфейсы и абстрактные классы.
При создании массивов на основе примитивного числового типа изначально все элементы заполняются нулями, а логического типа Boolean значением false. При создании экземпляра массива с применением ключевого слова new создается объект массива заполненный пустым значением null. Далее необходимо инициализировать элементы массива по отдельности в цикле.
Вторым способом создания массивов является использование инициализаторов.Тогда ключевое слово new не используется, а в фигурных скобках через запятую перечисляются значения элементов массива.
Длина массива вычисляется автоматически ,а каждому элементу присваивается соответствующее значение.Аналогично можно порождать массивы на основе объектных типов.
Многомерные массивы создаются аналогично, но с использованием нескольких квадратных скобок. Int I [] [] = new int [3][5];
При создании многомерных массивов с помощью new необходимо указывать все пары квадратных скобок , но заполненной должна быть лишь крайняя левая пара.
Во время выполнения приложения jvm генерирует объвления массивов динамически ,которые хранятся в памяти в виде экземпляров класса Class. Объявления класса начинается с модификаторов, соответствующих уровню доступа базового типа. Можно использовать модификатор final ,т.к. никакой класс не может наследоваться от класса массива. К типу массив обращение идет не по его имени ,а по имени базового типа.Далее перечисляются интерфейсы,реализуемые классом массив ,которыми обычно является Cloneable , Serializable.
По базовому типу массивы делят на основанные на примитивном или ссылочном типе. Преобразование между массивами и другими объектными типами возможны для класса object и этих интерфейсов. Правила преобразования : массив , основанный на типа a, можно привести к массиву, основанному на типе б, если см тип а приводится к типу б .При этом преобразование типа не порождает новые объекты.такие операции должны выполняться только явным образлм с применением ключевого слова new.Поэтому преобразование типов массивов , основанных на примитивных типах, запрещены.При необходимости копирование элементов массивов требуется создать новый массив и воспользоваться стандартной функцией System.arraycopy ()JVM при работе с массивами осуществляет дополнительную проверку и генерирует ошибку ArrayStoreException. Переменная типа массив примитивных величин может хранить значения такого же типа либо null. Переменная типа массив ссылочных величин хранит null; значения такого же типа; и все значения типа массив, основанных на типе приводимом к базовому.
