Интерфейсы. Часто для представления особенностей предметной области встречаются классы; которые логически принадлежат сразу двум различным иерархическим структурам. Например класс Parrot определяет птицу и является одновременно товаром. При разработке языка Java специалисты фирмы Sun предпочли исключить из этого языка возможность множественного наследования классов. Интерфейсы являются альтернативой прямому множественному наследованию. Выглядит интерфейс как абстрактный класс, в котором все методы абстрактные(пустые). Нельзя создать экземпляр абстрактного класса, то есть класса в котором есть abstract метод; Интерфейс представляет собой абстрактное описание поведения объекта.
Определение интерфейсов.
interface Product
public interface Product
{
//Определение цены на товар public void setPrice (float the Price); //Продажа одной единицы товара public void sell();
}
Реализация интерфейса:
Public class Tparrot extends Tbird implements Product
{
public void setPrice (float thePrice) {... } public void sell 0
}
Ключевое слово this —используется для ссылки на текущий объект.
|
|
void setAge(String age) { this.age=age; } Через Зыс возвращаемся к методу или полю текущего класса.
Ключевое слово static. Когда вы объявляете что-либо как static, это означает, что данные или метод не привязаны к данному экземпляру класса
Class Static Test{
static int i=50;
… }
Если вы создадите два объекта StaticTest; для элемента StancTesti существует единственный блок памяти.
StaticTest stl = new StaticTest();
StaticTest st2 = new StaticTes();
Как stl.i, так и st2.i будут и меть одинаковые значения.
К статическим полям можно обращаться не через экземпляр класса, вызвать можно через имя класса.
Апплеты. Структура и методы апплета. Вызов апплета.
Апплет- это программа, работающая под управлением браузера. Для того чтобы создать апплет необходимо написать класс, производный от класса Applet. Приведем пример простого аплета:
import Java.applet.Applet;
import java.awt.Graphics;
public class HellowApplet extends Applet
{
public void paint (Graphics the Graphics)
{
theGraphics. drawString(" Hello, world", 0,5 0);
}
}
Методы жизненного цикла аплета:
public void star() {...}
public void stop() {...}
public void destroy() {...}
public void paint (Graphics theGraphics) {...}
public void init() {...}
Метод init() — для размещения кода, который должен быть выполнен в течении жизни аплета только один раз при инициализации.
Метод start() и stop()- соответственно после инициализации и при переключении на другое окно или при сворачивании окна.
Метод pain()- вызывается каждый раз, когда изменяется графическое пространство аплета
Метод destroy()- непосредственно при освобождении памяти аплетом.
Алплет может иметь конструктор. Конструктор — класс, который легко найти, поскольку его имя совпадает с именем класса. В конструктор можно поместить код инициализации класса, то есть код, который в течении жизни аплета нужно выполнить только один раз. Так как не все броузеры загружают и выгружают аплеты одинаково, то код, выполняемый при инициализации класса необходимо помещать в метод init(), а не в конструктор.
|
|
Обращение к аппету из html страницы осуществляется следующим образом:
<html>
<body>
<applet code^'examples, class" width="200" hight^'200">
</applet>
</body>