Языки программирования
<<  Java 2 Micro Edition Java 2 Micro Edition  >>
Картинок нет
Картинки из презентации «Java 2 Micro Edition» к уроку информатики на тему «Языки программирования»

Автор: Сергей Жерздев. Чтобы познакомиться с картинкой полного размера, нажмите на её эскиз. Чтобы можно было использовать все картинки для урока информатики, скачайте бесплатно презентацию «Java 2 Micro Edition.ppt» со всеми картинками в zip-архиве размером 60 КБ.

Java 2 Micro Edition

содержание презентации «Java 2 Micro Edition.ppt»
Сл Текст Сл Текст
1Java 2 Micro Edition. Язык Java. 42обычно возбуждаются не пользовательской
Лаборатория информационных технологий программой, а ядром виртуальной машины
(ИТЛаб). Проект ТЭЛМА. Жерздев С.В. При Java. 42 (с) ИТЛаб, ННГУ, ВМК, 2003г Java
поддержке фирмы Intel? 1 (с) ИТЛаб, ННГУ, 2 Micro Edition Жерздев С.В.
ВМК, 2003г Java 2 Micro Edition Жерздев 43Пользовательские исключения. Помимо
С.В. системных исключений, например, деления на
2Синтаксис объявления классов. 2 (с) нуль, ошибки чтения файла и т.д., могут
ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro создаваться пользовательские исключения.
Edition Жерздев С.В. Например, в процессе работы программы
3Синтаксис объявления классов. В необходимо контролировать некоторые
синтаксисе языка Java объявление класса параметры. Выходом из такой ситуации может
осуществляется следующим образом: быть создание собственного исключения,
[модификаторы] class имя-класса [extends которое является классом, наследуемым от
суперкласс] [implements интерфейс] { // Exception. После чего, используя
переменные и методы класса … } Основные стандартные действия для перехвата
модификаторы объявления класса позволяют исключений, можно осуществлять обработку
определять его абстрактным (abstract), ошибочных ситуаций. 43 (с) ИТЛаб, ННГУ,
открытым (public) или завершающим (final). ВМК, 2003г Java 2 Micro Edition Жерздев
3 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro С.В.
Edition Жерздев С.В. 44Описание исключений. В следующем
4Абстрактные классы. Если в классе примере создается новое исключение
присутствует хотя бы один абстрактный MyExeeption, которое наследуется от класса
метод, то такой класс определяется Exception. В его конструкторес помощью
модификатором abstract. В дальнейшем команды super(); осуществляется обращение
подклассы абстрактного класса обязательно к конструктору родительского класса
должны оформить реализацию таких методов. Exception: class MyException extends
С другой стороны, одно из главных отличий Exception { MyException() { super(); ) }.
абстрактных классов заключается в том, что 44 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2
они могут иметь подклассы, но не могут Micro Edition Жерздев С.В.
иметь экземпляров. В данном случае 45Использование исключений. После
экземпляры могут иметь только определения класса для дальнейшего его
неабстрактные потомки абстрактных классов. использования в программе необходимо
4 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro создать его экземпляр, например:
Edition Жерздев С.В. MyException err = new MyException(); Это
5Модификатор final. Если в процессе позволит использовать методы и переменные
написания кода имеется необходимость в класса Exception. Так, с помощью метода
завершении дерева роста какого-либо getMessage() можно получить текст
класса, то в этом случае при описании сообщения, которое возвращается при
такого класса следует использовать возникновении ошибки. Метод toString()
модификатор final. Другими словами, класс, возвращает краткое описание исключения. С
объявленный модификатором final, не может помощью метода printStaсkTrace() можно
иметь подклассов (потомков). Чаще всего осуществить распечатку трассировки стека
такие классы используются для того, чтобы вызовов. 45 (с) ИТЛаб, ННГУ, ВМК, 2003г
запретить вносить исправления в реализацию Java 2 Micro Edition Жерздев С.В.
их методов, т.е. запретить переопределять 46Возбуждение исключений. Для
их. Такие классы также запрещают возбуждения исключения в Java используется
добавление новых переменных. 5 (с) ИТЛаб, оператор throw. При этом вместе с ним
ННГУ, ВМК, 2003г Java 2 Micro Edition указываются параметры создания нового
Жерздев С.В. экземпляра класса исключения. В следующем
6Открытые классы. Классы, объявленные с примере возбуждается исключение класса
использованием модификатора public, MyException: if (myVar==0) throw new
являются открытыми, что позволяет MyException("Zero"); Синтаксис
использовать их внутри программы и пакета, языка Java требует указания списка
а также за пределами пакета, в котором он исключений в описании метода, которые
объявляется. Одно из правил построения могут "выбрасываться" внутри
Java-программы заключается в том, что в данного метода. Благодаря этому легко
файле исходного кода может быть объявлен контролировать код. 46 (с) ИТЛаб, ННГУ,
только один public-класс. При этом имя ВМК, 2003г Java 2 Micro Edition Жерздев
файла исходного кода должно совпадать с С.В.
именем содержащегося в нем public-класса. 47Перехват исключений. Для перехвата
6 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro исключений используется следующая
Edition Жерздев С.В. конструкция: try { // операторы } catch
7Вложенные классы. В стандарте языка (класс_исключеиия1 идентификатор1) { //
Java осуществляется поддержка так обработка исключения класс_исключения1 } …
называемых вложенных классов. Это finally { // операторы, которые
означает, что можно объявить один класс выполняются всегда }. 47 (с) ИТЛаб, ННГУ,
внутри другого. Обычно на практике это ВМК, 2003г Java 2 Micro Edition Жерздев
делается для того, чтобы скрыть некую С.В.
информацию внутри класса, т.е. 48Использование пакетов. 48 (с) ИТЛаб,
использовать ресурсы вложенного класса для ННГУ, ВМК, 2003г Java 2 Micro Edition
внутренних целей. Другими словами, извне Жерздев С.В.
обычным способом нельзя обратиться к 49Использование пакетов. Пакеты
вложенному классу. 7 (с) ИТЛаб, ННГУ, ВМК, представляют собой структуры, в которых
2003г Java 2 Micro Edition Жерздев С.В. хранятся скомпилированные байт-коды
8Переменные и константы. 8 (с) ИТЛаб, классов. Физически пакет представляет
ННГУ, ВМК, 2003г Java 2 Micro Edition собой каталог на диске, в котором записаны
Жерздев С.В. скомпилированные коды классов и
9Переменные и константы. В Java для интерфейсы. В последующем обсуждении под
объявления переменных класса используется классом в пакете будет подразумеваться
следующий синтаксис: [static] [final] класс или интерфейс. Все стандартные
[transient] [volatile] тип__данных объекты Java находятся в пакетах. Пакет
имя_переменной; Например: class MyClass { java.lang, в котором сгруппированы все
int xl, x2; double yl; double y2; }. 9 (с) основные элементы языка Java подключается
ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro автоматически. 49 (с) ИТЛаб, ННГУ, ВМК,
Edition Жерздев С.В. 2003г Java 2 Micro Edition Жерздев С.В.
10Переменные класса. В Java 50Импортирование. Для использования
переменные-члены класса могут объявляться классов пакета в программе необходимо
с использованием модификатора static. В выполнить операцию подключения данного
этом случае объявляемая переменная пакета. Такая процедура носит название
является переменной класса, т.е. является импортирование пакета и имеет следующий
общей для всех ее экземпляров. Если в синтаксис: import
классе имеется static-переменная и при имя_пакета.[*][имя_класоа]; В одном случае
этом у этого класса имеется класс-потомок, подключаются все классы пакета, однако это
то значение такой static-переменной будет не говорит о том, что все они будут
также общим и для экземпляров участвовать в компиляции программы. В
класса-потомка. 10 (с) ИТЛаб, ННГУ, ВМК, другом случае подключается конкретный
2003г Java 2 Micro Edition Жерздев С.В. класс из пакета. 50 (с) ИТЛаб, ННГУ, ВМК,
11Константы. При объявлении константы в 2003г Java 2 Micro Edition Жерздев С.В.
теле класса необходимо установить ей 51Именование пакетов. В названии пакета
начальное значение, которое нельзя будет принято указывать некий уникальный
изменить впоследствии. Это значение будет префикс, чаще всего адрес Internet-домена
общим для всех экземпляров данного класса, компании разработчика пакета, написанный
а также для экземпляров его справа налево. При этом каждое имя,
классов-потомков. Синтаксис объявления разделенное точкой, называется уровнем
константы класса требует использования пакета. Помимо этого имена пакетов обычно
модификатора final, при этом обязательно принято называть с буквы в нижнем
присваивают значение данной константе. регистре, что обеспечивает удобство
Например: final double pi = чтения, т.к. обычно имена классов
3.1415926535898; 11 (с) ИТЛаб, ННГУ, ВМК, начинаются с буквы в верхнем регистре. 51
2003г Java 2 Micro Edition Жерздев С.В. (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro
12Модификаторы. Модификатор transient Edition Жерздев С.В.
используется в Java при объявлении 52Конфликты имен. В Java-программе могут
переменных класса для того, чтобы возникать конфликты именования классов:
определить переменные, не являющиеся import mypackage.*; import
частью постоянного состояния класса. ru.unn.newpackage.*; MyClass myVar = new
Модификатор volatile используется для MyClass(); В примере используется неявная
определения переменной, которая не ссылка на класс. Если класс с именем
оптимизируется компилятором и не MyClass может присутствовать в одном и
кэшируется на уровне виртуальной машины другом пакетах, необходимо использовать
Java. Это позволяет использовать такие явную ссылку на класс: import mypackage.*;
переменные при подключении к Java внешних import ru.unn.newpackage.*;
ресурсов, например, при подключении к mypackage.MyNewClass myVar = new
ресурсам операционной системы. 12 (с) mypackage.MyNewClass(); 52 (с) ИТЛаб,
ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro ННГУ, ВМК, 2003г Java 2 Micro Edition
Edition Жерздев С.В. Жерздев С.В.
13Спецификаторы доступа. Для переменных 53Прямое обращение. Можно не подключать
и методов класса существуют так называемые весь пакет, а только обратиться к
спецификаторы доступа. С помощью этих необходимому классу данного пакета:
спецификаторов определяется видимость mypackage.MyNewClass myVar = new
переменных и методов класса в других mypackage.MyNewClass(); В этом примере
классах, программах, методах и т.д. public пакет mypackage не импортируется. Вместо
- доступ разрешается любому классу; этого конкретно с именем класса MyNewClass
private - доступ разрешается внутри указывается и имя пакета. Если в процессе
класса, в котором они объявлены; protected компиляции Java не сможет обратиться к
- доступ разрешается только внутри класса, данному классу, то будет выдано сообщение
в котором они объявлены и в его об ошибке. 53 (с) ИТЛаб, ННГУ, ВМК, 2003г
подклассах; <пробел> - доступ Java 2 Micro Edition Жерздев С.В.
разрешается для любых классов того же 54Создание пакетов. Только public-классы
пакета, в котором размещается класс, где пакета могут использоваться за пределами
объявляются эти методы и переменные. 13 данного пакета. Если в public-классе
(с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro пакета необходимо сделать его переменные и
Edition Жерздев С.В. методы доступными за пределами данного
14Методы. 14 (с) ИТЛаб, ННГУ, ВМК, 2003г пакета, они также должны маркироваться
Java 2 Micro Edition Жерздев С.В. спецификатором public. 54 (с) ИТЛаб, ННГУ,
15Методы. Cинтаксис Java для объявления ВМК, 2003г Java 2 Micro Edition Жерздев
методов имеет следующий вид: С.В.
[спецификатор__доступа ] [static] 55Создание пакетов. В начале программы,
[abstract] [final] [native] [synchronized] классы которой необходимо включить в
тип_данных имя_метода ([параметр1], пакет, следует ввести ключевое слово
[параметр2], ...) [throws package с указанием имени пакета: package
список_исключений] Любой метод в Java имя_пакета; Если пакета с таким именем не
должен содержать хотя бы тип возвращаемых существует, то в процессе компиляции он
данных и имя. Все остальные элементы будет создан, иначе скомпилированные
синтаксиса позволяют управлять поведением байт-коды классов будут добавлены в
метода и определять степень его имеющийся пакет. 55 (с) ИТЛаб, ННГУ, ВМК,
использования. 15 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.
2003г Java 2 Micro Edition Жерздев С.В. 56Технология многопоточного
16Возвращаемое значение. Каждый метод программирования. 56 (с) ИТЛаб, ННГУ, ВМК,
может возвращать какое-либо значение 2003г Java 2 Micro Edition Жерздев С.В.
определенного типа данных. Тип данных в 57Многопоточное программирование.
этом случае может быть как простым (int, Современные операционные системы
double. char и т.д.), так и сложным предоставляют своим пользователям
(String, StringBuffer и т.д.). Если возможность выполнения нескольких
имеется необходимость не использовать приложений одновременно. Для реализации
такую возможность, то для этого при многозадачности существуют два основных
объявлении метода используется ключевое подхода. Первый из них состоит в
слово void. Для того чтобы передать управлении одновременным выполнением
полученное значение за пределы метода, различных процессов. В рамках одного
используется оператор return. 16 (с) процесса многозадачность может быть
ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro реализована с использованием технологии
Edition Жерздев С.В. потоков. 57 (с) ИТЛаб, ННГУ, ВМК, 2003г
17Перегрузка методов. В качестве имен Java 2 Micro Edition Жерздев С.В.
нескольких методов одного класса может 58Потоки в Java. В любой Java-программе
выступать одно и то же значени. существует, по крайней мере, один поток -
Единственным условием в данном случае поток выполнения данной программы, который
является несовпадение входящих в эти носит название главного потока. Все потоки
методы параметров. Данное несовпадение в Java могут существовать в различных
заключается в том, что может различаться состояниях: готовности к выполнению;
их количество или тип данных. Когда в приостановленный; продолжение работы;
основной программе выполняется обращение с состояние остановки. Для потоков,
передачей параметров, Java автоматически программируемых в Java, можно установить
определяет, какому методу следует передать их приоритеты выполнения. 58 (с) ИТЛаб,
управление. 17 (с) ИТЛаб, ННГУ, ВМК, 2003г ННГУ, ВМК, 2003г Java 2 Micro Edition
Java 2 Micro Edition Жерздев С.В. Жерздев С.В.
18Модификатор static. Аналогично тому, 59Программирование потоков. Любая
как в Java могут существовать переменные многопоточная программа в Java строится на
класса и экземпляра, также могут базе методов класса Thread и связанном с
объявляться методы класса и экземпляра. В ним интерфейсом Runnable. Главным
обоих случаях для определения требованием является переопределение
принадлежности метода или переменной к метода run(), в теле которого и
классу, а не к его экземпляру, размещается код потока. 59 (с) ИТЛаб,
используется модификатор static. Так же, ННГУ, ВМК, 2003г Java 2 Micro Edition
как и переменные, методы класса Жерздев С.В.
используются всеми экземплярами данного 60Программирование потоков. Для создания
класса. Кроме того, static-методы можно нового потока следует объявить в программе
вызывать в программе без создания экземпляр данного класса, используя один
экземпляра класса, в котором они из его конструкторов: Thread();
объявлены. 18 (с) ИТЛаб, ННГУ, ВМК, 2003г Thread(Runnable target); Thread(Runnable
Java 2 Micro Edition Жерздев С.В. target, String name); Thread(String name);
19Static-блоки. Помимо использования Здесь target - объект, реализующий
модификатора static при объявлении интерфейс Runnable, name - имя
переменных и методов класса, с помощью создаваемого потока. После создания
него можно создавать так называемые объекта Thread можно воспользоваться одним
static-блоки. class MyClass { static int[] из методов его класса для управления
myNum = new int[10]; static { for (int данным потоком. Так, для запуска на
i=0; i<10; i++) myNum[i] = i*i; } }. 19 выполнение потока используется метод
(с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro start(). 60 (с) ИТЛаб, ННГУ, ВМК, 2003г
Edition Жерздев С.В. Java 2 Micro Edition Жерздев С.В.
20Конструктор. Конструктор класса 61Реализация интерфейса Runnable. При
представляет собой метод данного класса, объявлении поточного класса на основе
который имеет одинаковое с этим классом интерфейса Runnable необходимо реализовать
имя. Конструкторы класса вызываются каждый метод run() этого интерфейса. Метод run ()
раз при создании объекта класса. является точкой входа в поток и определяет
Конструктор класса может быть перегружен. в себе все операции, выполняемые в нем.
20 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 После реализации метода run() в
Micro Edition Жерздев С.В. конструкторе класса-потока создается новый
21Конструктор по умолчанию. Наличие поток на основе ссылки на данный класс.
конструктора в классе является После этого с использованием метода
необязательным требованием. Если start() класса Thread данный поток
конструктор класса не указывается, то запускается. 61 (с) ИТЛаб, ННГУ, ВМК,
компилятор генерирует конструктор по 2003г Java 2 Micro Edition Жерздев С.В.
умолчанию, обладающий следующими 62Реализация интерфейса Runnable.
особенностями: модификатор доступа к нему Структурная схема, описывающая
определяется как public; выполняется представленный подход, имеет следующий
первоначальная инициализация всех полей вид: public class ThreadDemo implements
объекта; он используется как конструктор Runnable{ public void run() { … } public
копирования. 21 (с) ИТЛаб, ННГУ, ВМК, ThreadDemo() { Thread myThr=new
2003г Java 2 Micro Edition Жерздев С.В. Thread(this,"thrname");
22Вызов конструктора. Вызов конструктора myThr.start(); } public static void main
осуществляется только в процессе создания (String[] args) { new ThreadDemo(); } }.
экземпляра. Исключением является вызов 62 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2
конструктора родительского класса в Micro Edition Жерздев С.В.
конструкторе класса-потомка: class 63Наследование класса Thread. Класс
MyNewClass extends MyClass { потока ThreadDemo наследуется от класса
MyNewClass(int а, int b) { super(a, b); … Thread, после чего необходимо будет
} } Ключевое слово super должно быть самым перегрузить метод run(). В конструкторе
первым в методе потомка. 22 (с) ИТЛаб, поточного класса ThreadDemo вначале
ННГУ, ВМК, 2003г Java 2 Micro Edition производится обращение к конструктору
Жерздев С.В. суперкласса, т.е. к конструктору Thread, с
23finalize(). В классе имеется метод передачей ему в качестве параметра имени
finalize(), который выполняется в процессе нового потока. После этого, используя
удаления сборщиком мусора этого объекта из метод start(), данный поток начинает свое
памяти. Вызвать в программе метод выполнение. В main-методе класса MyClass
finalize() невозможно и его присутствие в выполняется запуск данного потока
классе не является обязательным. Обычно в ThreadDemo благодаря объявлению его
этом методе выполняются различные экземпляра. 63 (с) ИТЛаб, ННГУ, ВМК, 2003г
специфические действия, например, закрытие Java 2 Micro Edition Жерздев С.В.
сетевых соединений, соединений с базами 64Наследование класса Thread.
данных и т.д. 23 (с) ИТЛаб, ННГУ, ВМК, Структурная схема, описывающая
2003г Java 2 Micro Edition Жерздев С.В. представленный подход, имеет следующий
24throws. Если в создаваемом методе вид: public class ThreadDemo extends
может возникнуть (возбудиться) исключение, Thread { public void run() { … } public
которое не перехватывается в данном ThreadDemo () { super("Имя
методе, то при объявлении такого метода потока"); start(); } } … ThreadDemo
после ключевого слова throws эти myThr=new ThreadDemo(); 64 (с) ИТЛаб,
исключения перечисляются через запятую. 24 ННГУ, ВМК, 2003г Java 2 Micro Edition
(с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Жерздев С.В.
Edition Жерздев С.В. 65Контроль исполнения. После запуска
25Абстрактные методы. Если в классе потока на выполнение управление передается
объявляется так называемый абстрактный обратно в то место программы, из которого
метод, то и класс, в свою очередь, также осуществлялся запуск данного потока. Метод
является абстрактным. Абстрактным методом isAlive() возвращает логическое значение,
называется метод, при объявлении которого характеризующее активность данного потока.
отсутствует его реализация. Для объявления Метод join() класса Thread позволяет
метода в качестве абстрактного в дождаться завершения работы потока, т.е.
синтаксисе языка Java используется приостанавливает работу потока программы,
модификатор abstract. 25 (с) ИТЛаб, ННГУ, из которого был вызван данный поток.
ВМК, 2003г Java 2 Micro Edition Жерздев Использование метода join() может
С.В. сгенерировать исключение
26Модификатор synchronized. InterruptedException. 65 (с) ИТЛаб, ННГУ,
Использование модификатора synchronized ВМК, 2003г Java 2 Micro Edition Жерздев
при объявлении метода приводит к С.В.
блокированию объекта, в котором находится 66Управление потоком. 66 (с) ИТЛаб,
этот метод. При обращении к ННГУ, ВМК, 2003г Java 2 Micro Edition
synchronized-методу в каком-либо объекте Жерздев С.В.
доступ к другим методам данного объекта 67Методы объекта. start - в новом
закрывается до тех пор, пока не выполнятся контексте будет вызван метод run вновь
все команды этого метода или не будет созданного подпроцесса. Метод start с
выполнен оператор выхода из метода return. данным объектом можно вызвать только один
Объявление метода с помощью такого раз. run - это тело выполняющегося
модификатора обычно на практике подпроцесса. Это - единственный метод
используется при работе с потоками. 26 (с) интерфейса Runnable. Он вызывается из
ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro метода start после того, как исполняющая
Edition Жерздев С.В. среда выполнит необходимые операции по
27Модификатор native. Если в процессе инициализации нового подпроцесса. Если
разработки Java-программы имеется происходит возврат из метода run, текущий
необходимость в подключении методов, подпроцесс останавливается. currentThread
реализованных на других языках возвращает объект Thread, выполняющийся в
программирования, то в этом случае такой данный момент. 67 (с) ИТЛаб, ННГУ, ВМК,
метод объявляется с использованием 2003г Java 2 Micro Edition Жерздев С.В.
модификатора native. То есть использование 68Методы объекта. stop приводит к
этого модификатора определяет так немедленной остановке подпроцесса. Это -
называемый родной метод, иначе говоря, способ мгновенно прекратить выполнение
метод, реализованный на другом языке текущего подпроцесса, особенно если метод
программирования, например, С++. 27 (с) выполняется в текущем подпроцессе. Более
ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro аккуратный способ остановить выполнение
Edition Жерздев С.В. подпроцесса - установить значение
28Main-метод. Если в классе объявить какой-либо переменной-флага, предусмотрев
метод с именем main, при этом установив в методе run код, который, проверив
для него модификаторы public и static, то состояние флага, завершил бы выполнение
виртуальная машина Java обратится к этому подпроцесса. 68 (с) ИТЛаб, ННГУ, ВМК,
методу при попытке запуска файла, в 2003г Java 2 Micro Edition Жерздев С.В.
котором написан данный метод, в виде 69Методы класса. yield - исполняющая
приложения. Это означает, что если система переключает контекст с текущего на
необходимо создать Java-приложение, то в следующий доступный подпроцесс. Это один
каком-нибудь классе кода следует объявить из способов гарантировать, что
такой main-метод, что приведет к запуску низкоприоритетные подпроцессы когда-нибудь
команд, расположенных внутри данного получат управление. sleep(int n) -
метода. 28 (с) ИТЛаб, ННГУ, ВМК, 2003г исполняющая система блокирует текущий
Java 2 Micro Edition Жерздев С.В. подпроцесс на n миллисекунд. В большинстве
29Использование интерфейсов. 29 (с) исполняющих систем Java системные часы не
ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro позволяют точно выдерживать паузы короче,
Edition Жерздев С.В. чем 10 миллисекунд. Может генерировать
30Использование интерфейсов. Интерфейсы исключение InterruptedException. 69 (с)
в Java позволяют описывать внутри себя ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro
методы и переменные, не указывая при этом Edition Жерздев С.В.
реализацию этих методов. Иначе говоря, 70Методы объекта. suspend отличается от
интерфейсы представляют собой полностью метода stop тем, что метод
абстрактный класс, т.е. класс, в котором приостанавливает выполнение подпроцесса,
все объявленные методы являются не разрушая при этом его системный
абстрактными. Синтаксис Java для контекст. Если выполнение подпроцесса
объявления интерфейсов имеет следующий приостановлено, вы можете снова
вид: [public] interface имя_интерфейса активизировать его. resume используется
[extends интерфейс1, интерфейс2, ...] { }. для активизации подпроцесса,
30 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 приостановленного вызовом suspend. При
Micro Edition Жерздев С.В. этом не гарантируется, что после вызова
31Использование интерфейсов. Если resume подпроцесс немедленно начнет
имеется необходимость в установке выполняться, поскольку в этот момент может
видимости объявляемого интерфейса за выполняться другой более
пределами пакета, то в этом случае следует высокоприоритетный процесс. 70 (с) ИТЛаб,
установить спецификатор доступа public. ННГУ, ВМК, 2003г Java 2 Micro Edition
Интерфейсы, так же как и классы, могут Жерздев С.В.
наследоваться от других интерфейсов. При 71Методы объекта. setName(String name) -
этом используется ключевое слово extends, присваивает подпроцессу указанное в
после чего через запятую указываются имена параметре имя. Это помогает при отладке
интерфейсов. Класс может быть потомком программ с параллельными подпроцессами.
только одного класса, тогда как у Присвоенное с помощью setName имя будет
интерфейса может быть несколько появляться во всех трассировках стека,
интерфейсов-предков. 31 (с) ИТЛаб, ННГУ, которые выводятся при получении
ВМК, 2003г Java 2 Micro Edition Жерздев интерпретатором неперехваченного
С.В. исключения. getName возвращает строку с
32Переменные и методы. При объявлении именем подпроцесса, установленным с
методов нужно учитывать то, что их помощью вызова setName. 71 (с) ИТЛаб,
реализация обязательно должна ННГУ, ВМК, 2003г Java 2 Micro Edition
отсутствовать: void myMethod(String s); Жерздев С.В.
Переменные, объявляемые внутри интерфейса 72Приоритеты выполнения потоков. 72 (с)
обязательно должны быть ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro
проинициализированы. Все переменные в Edition Жерздев С.В.
интерфейсе рассматриваются 73Приоритеты потоков. Технология
Java-компилятором как public, static и многопоточного программирования позволяет
final. 32 (с) ИТЛаб, ННГУ, ВМК, 2003г Java определять для потоков приоритеты их
2 Micro Edition Жерздев С.В. выполнения. Значение приоритета потока
33Реализация. Для того чтобы создать устанавливается в виде целочисленных
класс, который будет наследовать значений в диапазоне от 1 до 10. Чем
переменные и методы объявленного ранее больше значение приоритета у потока, тем
интерфейса, необходимо в синтаксисе больше его значимость для операционной
объявления класса указать ключевое слово системы. Работа потоков с различными
implements. Любой класс в Java может приоритетами полностью зависит от
наследоваться на основании только одного используемой операционной системы и
родительского класса (или интерфейса), ресурсов компьютера. 73 (с) ИТЛаб, ННГУ,
такое наследование является прямым. ВМК, 2003г Java 2 Micro Edition Жерздев
Множественное наследование реализуется с С.В.
использованием технологии интерфейсов. 33 74Установка приоритетов. В классе Thread
(с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro определены три константы MIN_PRIORITY,
Edition Жерздев С.В. NORM_PRIORITY и MAX_PRIORITY,
34Организация доступа к объектам. 34 (с) представляющие собой значения
ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro минимального, нормального и максимального
Edition Жерздев С.В. приоритетов соответственно. Для того чтобы
35Обращение к элементам. Программный код установить определенному потоку
Java состоит из объектов и взаимосвязей необходимый приоритет, следует
между ними. Доступ к переменным и методам воспользоваться методом setPriority()
объекта организовывается с использованием класса Thread, которому в качестве
разделителя . (точка), который отделяет параметра передается соответствующее
имя объекта и имя его переменной (или значение приоритета. Чтобы определить
метода): имя_объекта.имя_переменной или текущий приоритет потока, используется
для метода: метод getPriority() данного класса. 74 (с)
имя_объекта.имя_метода(аргументы). 35 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro
ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.
Edition Жерздев С.В. 75Синхронизация потоков. 75 (с) ИТЛаб,
36Создание объектов. Для создания ННГУ, ВМК, 2003г Java 2 Micro Edition
объекта класса в синтаксисе Java Жерздев С.В.
используется оператор new, к основным 76Синхронизация потоков. Существует
задачам которого относят: выделение памяти возможность корректного управления
создаваемому объекту; вызов конструктора потоками при обращении к одному ресурсу,
класса для создаваемого что обеспечивается технологией
объекта/экземпляра; установка начальных синхронизации. Синхронизация гарантирует,
значений объекту, другими словами, что данный разделяемый ресурс будет
инициализация объекта. 36 (с) ИТЛаб, ННГУ, использоваться одновременно только одним
ВМК, 2003г Java 2 Micro Edition Жерздев потоком. В основе технологии синхронизации
С.В. потоков находится объект, называемый
37Информация о типе. Часто возникает семафором, который используется для
необходимость в определении класса, взаимоисключающей блокировки доступа к
относительно которого создан объект. Java объекту. Когда один из потоков входит в
обладает оператором instanceof, который семафор, то все остальные ожидают
возвращает логическое значение, освобождения этого семафора. 76 (с) ИТЛаб,
подтверждающее принадлежность объекта ННГУ, ВМК, 2003г Java 2 Micro Edition
определенному классу: переменная = объект Жерздев С.В.
instanceof имя_класса; Все классы в Java 77Синхронизация методов. Первый способ
порождены от класса Object, который имеет синхронизации заключается в использовании
метод getClass(), возвращающий ссылку на ключевого модификатора synchronized при
класс, которая, в свою очередь, содержит объявлении объектов, например: public
метод getName(), определяющий имя этого synchronized void ok() { } В этом случае
класса. 37 (с) ИТЛаб, ННГУ, ВМК, 2003г использование модификатора synchronized
Java 2 Micro Edition Жерздев С.В. обеспечивает наличие у каждого объекта
38Обработка исключений. 38 (с) ИТЛаб, своего собственного семафора. Если
ННГУ, ВМК, 2003г Java 2 Micro Edition какой-либо поток обращается к
Жерздев С.В. синхронизированному методу определенного
39Обработка ошибок. Обычно в экземпляра, то никакой другой поток не
алгоритмических языках, таких как, сможет вызвать любой синхронизированный
например С, каждая выполняемая функция метод данного экземпляра. 77 (с) ИТЛаб,
возвращала числовое значение, определяющее ННГУ, ВМК, 2003г Java 2 Micro Edition
успешность ее выполнения. Для обеспечения Жерздев С.В.
корректности работы программы, приходилось 78Синхронизированные блоки. В Java
контролировать эти возвращаемые значения. имеется возможность синхронизировать
Однако программисту чаще всего было трудно доступ к уже созданному ранее объекту с
в процессе написания кода предусмотреть использованием оператора synchronized:
все такие ошибочные ситуации. Эта задача public class MyClass { public void ok() {}
традиционно оставлялась на время } … MyClass myVar = new MyClass();
завершающего этапа разработки, что, synchronized(myVar) { myVar.ok(); }
конечно, делало ее решение еще более Оператору synchronized в качестве
сложным. 39 (с) ИТЛаб, ННГУ, ВМК, 2003г параметра передается объект, требующий
Java 2 Micro Edition Жерздев С.В. синхронизации, после чего в блоке данного
40Исключения. Исключение представляет оператора будет производиться
собой событие, происходящее в процессе синхронизированный вызов его методов. 78
выполнения Java-программы в результате (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro
нарушения нормального хода выполнения. Edition Жерздев С.В.
Процесс обработки исключения называется 79Остановка и возобновление потоков.
перехватом исключения. Процесс обработки Java предоставляет программисту
ошибок в Java сводится к перехвату возможность приостановки работы потока с
возбужденных исключений. Исключение может последующим ее возобновлением. Для этого
быть проигнорировано, что приведет к внутри синхронизированного метода или
передаче его по стеку вызовов для блока используются методы класса Object:
дальнейшей его обработки. Передвижение wait () - вызвав wait(), текущий поток
может продолжаться вплоть до дна стека уступает монопольное право на объект и
вызовов, где происходит его обработка приостанавливается до тех пор, пока из
виртуальной машиной. 40 (с) ИТЛаб, ННГУ, какого-либо другого потока не будет сделан
ВМК, 2003г Java 2 Micro Edition Жерздев вызов notify() или notifyAll(). notify ()
С.В. - позволяет возобновить работу потока в
41Исключения. Все исключения в Java состоянии приостановки; notifyAll() -
наследуются от класса Throwable, который, возобновление работы всех потоков, которая
в свою очередь, наследуется от Object. была приостановлена на данном объекте. 79
Класс Throwable содержит определяемую (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro
пользователем строку сообщения и ряд Edition Жерздев С.В.
переменных, которые используются для 80Клинч (deadlock). Клинч - редкая, но
трассировки времени выполнения в стеке очень трудноуловимая ошибка, при которой
вызовов. Исключения разбиваются на группы, между двумя потоками существует кольцевая
например арифметические, файловые и т.д., зависимость от пары синхронизированных
эти группы формируют подклассы класса объектов. Например, если один подпроцесс
Exception. Для каждого Java-пакета получает управление объектом X, а другой -
существуют свои исключения, особенности объектом Y, после чего Х пытается вызвать
работы с которыми следует изучать в любой синхронизированный метод Y, этот
документации, прилагаемой к данному вызов, естественно блокируется. Если при
пакету. 41 (с) ИТЛаб, ННГУ, ВМК, 2003г этом и Y попытается вызвать
Java 2 Micro Edition Жерздев С.В. синхронизированный метод X, то программа с
42Обрабатываемые и фатальные. такой структурой подпроцессов окажется
Обрабатываемые исключения определяются по заблокированной навсегда. 80 (с) ИТЛаб,
принадлежности к группе подклассов ННГУ, ВМК, 2003г Java 2 Micro Edition
Exception. Фатальные классы исключений Жерздев С.В.
наследуются от классов Error или Runtime и
Java 2 Micro Edition.ppt
http://900igr.net/kartinka/informatika/java-2-micro-edition-225594.html
cсылка на страницу

Java 2 Micro Edition

другие презентации на тему «Java 2 Micro Edition»

«Характеристика языков программирования высокого уровня» - GNU Pascal. Ряд ограничений. Зрелость. Язык для обучения процедурному программированию. Процедурные языки. Структуры данных. Стандартизация языков. Взрывной рост. Введение. Языки программирования высокого уровня. Cи++. Функциональные языки. Xml-подобные языки. Pascal. Cobol. Algol. Более восьми с половиной тысяч языков.

«Языки програмирования» - Уровни языков программирования. HTML. Расмус. Ассемблер. Средство эффективной обработки. Си Шарп. Си++. Языки программирования баз данных. Языки программирования. Настольные СУБД. Алгоритм и программа. Машинный код. Обзор языков программирования. Компиляторы и интерпретаторы. Алгол. Общеобразовательная школа.

«Java 5» - Метод void dump. Определение метода. Перечисления. Минимум в массиве. Краткое содержание. Varargs. Перечислимый тип. Interfaces. Применение Static Import. Вывод соотношений мер длины. Static Import. Upper bounded wcard. Смешение generic и не-generic кода. Проверка типов времени исполнения. Пример кода.

«Интерфейсы. Контейнерные классы» - Два интерфейса. Использование стандартных коллекций. Граф. Стек. Клонирование объектов. Пример реализации интерфейса. Обход дерева. Очередь. Особенности реализации интерфейсов. Параметризованные интерфейсы. Свойства нескольких интерфейсов. Интерфейсы и наследование. Общие сведения об интерфейсе. Пример использования класса.

«История развития языков программирования» - Метаязыки описания языков программирования. Француз Филип Кан разработал систему Турбо-Паскаль. Список наиболее употребительных обозначений типов данных, используемых в описаниях. Объектно-ориентированный язык создает окружение в виде множества независимых объектов. История развития языков высокого уровня.

«Введение в С» - Наследование. Конструктор копирования. Введение в С++. Стандартный конструктор. Деструкторы. Конструкторы с дополнительными параметрами. Деструктор для класса. Виртуальные функции. Модификаторы доступа. Модификатор. Множественное наследование. Class A. Конструктор копирования по умолчанию. Конструкторы.

Языки программирования

23 презентации о языках программирования
Урок

Информатика

130 тем
Картинки