Aufgabe
|
Konstanten für eine Sammlung von Klassen
einheitlich zugreifbar machen.
|
|
In Schnittstellen dürfen statische Variablen deklariert
und initialisiert werden.
|
Lösung
|
Ein interface für die Definition von Konstanten
als static final Variablen.
|
|
interface I1 {
static final int c = 42;
}
|
unhandlich
|
class X {
int v = I1.c;
}
|
einfacher |
class Y implements I1 {
int v = c;
}
|
|
Namenskonflikte sind möglich
|
|
interface I1 {
static final int c = 42;
}
|
|
interface I2 {
static final int c = 43;
}
|
Übersetzungsfehler |
class X implements I1, I2 {
int v = c;
}
|
|
reference to c is ambiguous, both variable c in I1 and variable c in I2 match
|