- •Содержание
- •Введение
- •1. Основные понятия языка Java иUml
- •Простое приложение
- •Простой апплет
- •Классы и объекты
- •Базовые типы данных
- •Операторы
- •If (obj instanceof java.Awt.Font) {/*операторы*/}
- •Операторы управления
- •UmLкак язык описания объектно-ориентированных программ
- •2. Библиотека стандартаJava_se Наследование
- •Использование super и this
- •Абстрактные классы и интерфейсы
- •Переопределение методов
- •Перегрузка методов
- •Полимофизм и расширяемость
- •Статические методы и полиморфизм
- •Внутренние (inner) классы
- •Вложенные классы (nested)
- •Анонимные классы
- •Использование библиотек классов Файлы. Потоки ввода/вывода
- •Обработка исключительных ситуаций
- •Коллекции
- •Графические интерфейсы пользователя
- •События и их обработка
- •Элементы управления
- •2. Библиотека стандартаJava_ee
- •ТехнологииJsp
Простой апплет
Одна из целей разработки Java: создание апплетов небольших программ, запускаемых Web-броузером. Поскольку апплеты должны быть безопасными, они ограничены в своих возможностях, хотя остаются мощным инструментом поддержкиWeb-программирования на стороне клиента.
// пример # 4 : простой апплет : FirstApplet.java
importjava.applet.Applet;
importjava.awt.*;
public class FirstApplet extends Applet {
private String date;
public void init() {
date = new java.util.Date().toString();
}
public void paint(Graphics g) {
g.drawString("Апплет запущен:", 50, 15);
g.drawString(date, 50, 35);
}
}
Для вывода текущего времени и даты в этом примере был использован объект Dateиз пакетаjava.util. МетодtoString()используется для преобразования информации, содержащейся в объекте, в строку для последующего вывода в апплет с помощью методаdrawString(). Цифровые параметры этого метода обозначают горизонтальную и вертикальную координаты начала рисования строки, считая от левого верхнего угла апплета.
Апплету не нужен метод main() код его запуска помещается в методinit() или paint(). Для запуска апплета нужно поместить ссылку на его класс вHTML–документ и просмотреть этот документ Web-броузером, поддерживающим Java. При этом можно обойтись очень простым фрагментом (тегом)<applet>внутриHTMLдокументаview.html:
<html><body>
<applet code= FirstApplet.class width=300 height=300>
</applet>
</body></html>
Сам файл FirstApplet.classпри таком к нему обращении должен находиться в той же директории, что и HTML-документ. Исполнителем HTML-документа является броузер Microsoft Internet Explorer или Netscape Navigator.
Результат запуска и выполнения документа view.htmlизображен на рис.1.1.
Рис. 1.1 Запуск и выполнение апплета.
Классы и объекты
Классы в Java содержат переменные-члены класса, а также методы и конструкторы. Все функции определяются внутри классов и называются методами; невозможно создать метод, не являющийся методом класса или объявить метод вне класса; спецификаторы доступа public, private, protected воздействуют только на то, перед чем они стоят; элементы по умолчанию доступны для классов из данного пакета. Объявление класса имеет вид:
[спецификаторы] classимя_класса [extendsсуперкласс] [implementsсписок_интерфейсов]
{/*определение класса*/}
Спецификатор доступа класса может быть public(класс доступен объектам данного пакета и вне пакета),final(класс не может иметь подклассов),abstract(класс содержит абстрактные методы, объекты такого класса могут создавать только подклассы). По умолчанию спецификатор устанавливается вfriendly(класс доступен в данном пакете). Данное слово при объявлении вообще не используется и не является ключевым словом языка, мы его используем для обозначения.
/* пример # 5 : простой пример класса : Subject.java */
classSubject {
public String name;
private int age;
public Subject() {//конструктор
name = "NoName";
age = 0;
}
public Subject(String n) {//конструктор
name = n;
}
public void setAge(int a) {//метод
age = a;
}
void show() { //метод
System.out.println("Имя: " + name + ", Возраст: " + age);
}
}
Класс Subjectсодержит два поляnameиage, помеченные какpublicиprivate.Значение поляageможно изменять только при помощи методов, например,setAge(). Полеnameдоступно и напрямую через объект классаSubject. Доступ к методам иpublicполям данного класса осуществляется только после создания объекта данного класса.
/* пример # 6 : объявление объекта, доступ к полям и методам объекта : SubjectDemo.java*/
public class SubjectDemo {
public static void main(String[] args) {
Subject ob = new Subject("Балаганов");
ob.name = "Шура Балаганов";
//ob.age = 19;// поле недоступно
ob.setAge(19);
ob.show();
}
}
Компиляция и выполнение данного кода приведут к выводу на консоль следующей информации:
Имя: Шура Балаганов, Возраст: 19
Классы из примеров 5 и 6 можно сохранять перед компиляцией в одном файле SubjectDemo.java, причем имя этому файлу дается по имениpublic класса, то есть SubjectDemo.
Объект класса создается за два шага. Сначала объявляется ссылка на объект класса. Затем с помощью оператора newсоздается экземпляр объекта, например:
String str; //объявление ссылки
str = new String(); //создание объекта
Однако эти два действия обычно объединяют в одно:
String s = new String();/*объявление ссылки и создание объекта*/
Оператор new вызывает конструктор, поэтому в круглых скобках могут стоять аргументы, передаваемые конструктору. Операция присваивания для объектов означает, что две ссылки будут указывать на один и тот же участок памяти.