Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

methodichkaA5

.pdf
Скачиваний:
17
Добавлен:
02.02.2015
Размер:
801.83 Кб
Скачать

По умолчанию отработал пустой конструктор, который иницализирует название группы grName пустой строкой и выделяет место под массив из пяти элементов. В свою очередь, конструктор каждого студента инициализирует экземпляр класса Stud нулевыми значениями оценок и года рождения.

Обратимся к студенту, который хранится в массиве по номером 0 и

заполним его поля.

G.Student[0].FIO = "Иванов И.И.";

G.Student[0].year = 1990;

G.Student[0].setMarks(2, 3, 4);

Здесь, указывается экземпляр класса Group под названием G. Далее, через точку указываем поле класса Group, в котором хранятся студенты. В

описанном классе это – массив Student, который, в свою очередь, является массивом экземпляров класса Stud. Т.к. Student – массив, то необходимо указать номер ячейки. Таким образом, перечисляя через точки поля, достигается конкретный студент, поля которого заполняются напрямую. Для того чтобы задать оценки, используем функцию setMarks(2, 3, 4).

Подобным образом заполняется информация о других студентах.

Вызовем функции печати для сравнения

G.printGR1();

G.printGR2();

9. Использование пакетов

Язык Java позволяет объединять классы в коллекции, называемые пакетами (packages). Пакеты облегчают организацию работы и позволяют отделить собственную работу от классов, разработанных другими программистами.

Стандартная библиотека языка Java распространяется в виде большого количества пакетов, включая пакеты java.lang, java.util, java.net и др.

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

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

71

класс Student. Если оба класса будут находиться в разных пакетах, конфликт не возникнет.

Единственная цель вложенных пакетов – гарантия уникальности имен. С

точки зрения компилятора между вложенными пакетами нет абсолютно никакой связи. Например, пакеты java.util и java.util.jar никак не связаны друг с другом. Каждый из них представляет собой независимую коллекцию классов.

Класс может использовать все классы из собственного пакета и все открытые классы из других пакетов.

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

java.util.Date today = new java.util.Dat e();

Очевидно, что этот способ слишком утомителен. Более простой и распространенный способ – использовать ключевое слово import. Оператор import допускает более короткие имена для ссылок на классы, находящиеся в пакете. В этом случае не нужно указывать полные имена классов.

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

Операторы import следует поместить в начало исходного файла (но после всех операторов package). Например, все классы из пакета java.util

можно импортировать с помощью оператора

import java.util.*;

Затем можно использовать следующий оператор, не указывая префикса,

задающего имя пакета.

Date today = new Date () ;

Можно также импортировать отдельный класс из пакета.

import java.util.Date;

Импортировать все классы из пакета проще. Негативного влияния на размер кода это не оказывает, поэтому нет никаких причин не делать этого.

Однако следует заметить, что оператор import со звездочкой * можно применять для импортирования только одного пакета. Нельзя использовать обозначение import java.* или import java.*.*, чтобы импортировать все пакеты,

имена которых содержат префикс java.

Импортировать можно только классы, но не объекты. Например,

невозможно импортировать объект System.out.

72

В большинстве случаев импортируется весь пакет, независимо от его размера. Единственный вариант, при котором на пакет следует обратить особое внимание – конфликт имен. Например, и пакет java.util, и пакет java.sql

содержат класс Date. Допустим, разрабатывается программа, импортирующая оба этих пакета.

import java.util.*;

import java.sql.*;

Если теперь попытаться использовать класс Date, возникнет ошибка компиляции:

Date today; // ОШИБКА - java.util.Date или java.sql.date?

Компилятор не может определить, какой класс Date нужен. Решить эту проблему можно, добавив конкретный оператор import:

import java.util.*;

import java.sql.*;

import java.util.Date;

А если вам на самом деле нужны оба класса Date? Для этого нужно указывать полное имя пакета для каждого имени класса.

Java.util.Date deadline = new Java.util.Date();

java.sql.Date today = new Java.sql.Date();

Обнаружение классов в пакетах является задачей компилятора. Байт-

коды в файлах классов всегда используют полные имена пакетов для ссылок на другие классы.

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

Stud.java начинается следующими строками.

package uni;

public class Stud{

………..

……….

}

Пакеты следует помещать в подкаталог, имя которого соответствует полному имени пакета.

73

Список литературы

1.Хорстманн К.С., Корнелл Г. Библиотека профессионала. Java 2. Том 1. Основы.: Пер. с англ. – М.: Издательский дом «Вильямс», 2003. – 848с.

2.Хорстманн К.С., Корнелл Г. Библиотека профессионала. Java 2. Том 2. Тонкости программирования.: Пер. с англ. – М.: Издательский дом

«Вильямс», 2002. – 1120с.

3.Технология программирования на Java 2: Книга 1. Графика, JavaBeans, интерфейс пользователя. Пер. с англ. – М.: ООО «Бином-Пресс», 2003.

– 560с.

4.Флэнаган Д. Справочник, 4-е издание – СПб: Символ-плюс, 2004. – 1040с.

5.www.javagu.ru

6.www.sun.com

74

Содержание

 

Вступление………………………………………………………………

3

1. Первые шаги в программировании …………………………...…

4

1.1. Первая программа на Java……………………………………..

4

1.2. Переменные и типы данных…………………………………...

6

1.3.Присваивание………………………………………………….. 8

1.4.

Порядок выполнения простых математических операций….

9

1.5.

Преобразования числовых типов……………………………

10

1.6.Приведение числовых типов………………………………...... 11

1.7.Математические операции и вычисления……………………. 12

2. Логические ветвления программ………………………………… 14

2.1.Блоки операторов…………………………………………….... 14

2.2.Оператор ветвления if…………………………………………. 15

2.3.Оператор варианта switch……………………………………... 20

2.4.Циклы…………………………………………………………… 21

3.Массивы……………………………………………………………… 26

3.1. Одномерные массивы………………………………………… 26

3.2.Двумерные массивы…………………………………………... 30

4. Строковые типы данных в java…………………………………... 34

4.1.Строки………………………………………………………….. 34

4.2.Подстроки……………………………………………………… 35

4.3.Редактирование строки……………………………………….. 35

4.4.Проверка строк на равенство…………………………………. 36

4.5.Считывание ввода……………………………………………... 39

5.Функции……………………………………………………………… 41

5.1. Основы использования функций в JAVA……………………. 41

5.2.Рекурсия………………………………………………………... 46

6.Объектно-ориентированное программирование……………….. 48

6.1.

Введение в объектно-ориентированное программирование...

48

6.2.

Основные термины объектно-ориентированного……………

49

6.3.Объекты………………………………………………………… 50

6.4.Отношения между классами…………………………………... 51

7.Использование существующих классов…………………………. 52

 

7.1. Объекты и объектные переменные……………………………

52

 

7.2. Класс GregorianCalendar из библиотеки языка Java………….

54

 

7.3. Модифицирующие методы и методы доступа……………….

56

8.

Создание собственных классов……………………………………

59

9.

Использование пакетов…………………………………………….

71

Список литературы……………………………………………..……...

74

 

75

 

Навчальне видання

ПУСТОВОЙТОВ Павло Євгенович

Програмування на JAVA 2

Навчальний посібник з дисципліни

«Обчислювальна техніка та програмування»

Для студентів спеціальності 6.091200 - Відео-, аудіота кінотехніка

Російською мовою

Роботу рекомендував до видання проф. Дмитрієнко В.Д.

В авторський редакції

План 2007 p., поз.1.

 

 

 

Підп. до друку __.__.2007.

Формат 60x84 1/16.

Папір офсетний.

Друк - ризографія.

Гарнітура Times New Roman. Ум. друк. арк. 5,0.

Обл.-вид. арк. 5,0.

Наклад 100 прим. Зам. № 25.

Ціна договірна.

___________________________________________________________________

Видавничий центр НТУ «ХПІ». Свідоцтво ДК №116 від 10.07.2000 р. 61002, Харків, вул. Фрунзе, 21.

___________________________________________________________________

ЧП Ляпін, Харків, вул. Пушкінська 74, Торговий центр 74

__________________________________________________________________

76

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