Page 32 - 4657
P. 32
System.out.println("callback called with " + p);
} }
У черговому прикладі метод callback інтерфейсу,
визначеного раніше, викликається через перемінну - посилання
на інтерфейс:
class TestIface {
public static void main(String args[]) { Callback
з = new client();
c.callback(42);
} }
Нижче приведений результат роботи програми:
С:\> Java TestIface
callback called with 42
Змінні в інтерфейсах
Інтерфейси можна використовувати для імпорту в різні
класи сумісно використовуваних констант. У тому випадку,
коли ви реалізуєте в класі який-небудь інтерфейс, усі імена
змінних цього інтерфейсу будуть видимі в класі як константи.
Це аналогічно використанню файлів-заголовків для завдання в С
та 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;
30