» Язык
java
» Главная
страница
» Вернуться
к содержанию
Переменные
в интерфейсах
Интерфейсы
можно использовать для импорта
в различные классы совместно
используемых констант. В том
случае, когда вы реализуете
в классе какой-либо интерфейс,
все имена переменных этого интерфейса
будут видимы в классе как константы.
Это аналогично использованию
файлов-заголовков для задания
в С и C++ констант с помощью
директив #define или ключевого
слова const в Pascal/Delphi.
Если
интерфейс не включает в себя
методы, то любой класс, объявляемый
реализацией этого интерфейса,
может вообще ничего не реализовывать.
Для импорта констант в пространство
имен класса предпочтительнее
использовать переменные с модификатором
final. В приведенном ниже примере
проиллюстрировано использование
интерфейса для совместно используемых
констант.
import
java.util.Random;
interface
SharedConstants { int NO = 0;
int
YES = 1;
int
MAYBE = 2;
int
LATER = 3;
int
SOON = 4;
int
NEVER = 5; }
class
Question implements SharedConstants
{
Random
rand = new Random();
int
ask() {
int
prob = (int) (100 * rand.nextDouble());
if
(prob < 30)
return
NO; // 30% else if (prob <
60)
return
YES; // 30% else if (prob <
75)
return
LATER; // 15% else if (prob
< 98)
return
SOON; // 13% else
return
NEVER; // 2% } }
class
AskMe implements SharedConstants
{
static
void answer(int result) {
switch(result)
{
case
NO:
System.out.println("No");
break;
case
YES:
System.out.println("Yes");
break;
case
MAYBE:
System.out.println("Maybe");
break;
case
LATER:
System.out.println("Later");
break;
case
SOON:
System.out.priniln("Soon");
break;
case
NEVER:
System.out.println("Never");
break;
}
}
public
static void main(String args[])
{
Question
q = new Question();
answer(q.ask());
answer(q.ask());
answer(q.askO);
answer(q.ask());
}
}
Обратите
внимание на то, что результаты
при разных запусках программы
отличаются, поскольку в ней
используется класс генерации
случайных чисел Random пакета
java.util.
С:\
> Java AskMe
Later
Scon
No
Yes
Теперь
вы обладаете полной информацией
для создания собственных пакетов
классов. Легко понимаемые интерфейсы
позволят другим программистам
использовать ваш код для самых
различных целей. Инструменты,
которые вы изучили, должны вам
помочь при разработке любых
объектно-ориентированных приложений.
Следующий
урок
|