Abstrakte Klassen / Interfaces und Konstanten

Hi,

aus einer alten Klausur - leider ohne Musterlösung - habe ich folgende Frage:

Welche der folgenden Aussagen ist korrekt?
(1) Attribute einer abstrakten Klasse sind Konstanten.
(2) Attribute eines Interfaces sind Konstanten.
(3) Methoden einer abstrakten Klasse sind Konstanten.
(4) Attribute sowohl in abstrakten Klassen, als auch in Interfaces sind Konstanten.

Genau eine Antwort ist richtig. Ich finde aber keine richtig…:frowning:
Man kann doch sowohl bei abstrakten Klassen, als auch bei Interfaces, Attribute/Methoden in der implementierenden / erbenden Klasse initialisieren…
sofern natürlich kein „final“ explizit davor steht…

Da habe ich wohl etwas nicht richtig verstanden und brauche eure Hilfe!
Danke!

Schon mal ausprobiert?
Mal abgesehen davon, dass es in Java eigentlich keine Konstanten gibt, sind in Interfaces definierte Attribute final und static und die Zuweisung zur Variable ist somit konstant.

in Interfaces sind alle Methoden implizit public und alle attribute implizit static final, also auch dann, wenn es nicht dran steht…

bye
TT

2 natürlich, weil die Attribute in Interfaces automatisch static final sind

Ah, dann hat aber die Uni ein Fehler gemacht…
In den Vorlesungsfolien steht:

   double stundenlohn;
   void gehaltZahlen(double arbeitsstunden);
}```

Wenn ich das in Eclipse eingebe, zeigt es mir an, dass ich stundenlohn initialisieren muss...

Also habe ich es richtig verstanden?
(2) ist richtig. In einem Interface müssen die Attribute sofort initialsiert werden und können dann auch nicht mehr in der implementierenden Klasse geändert werden!

ja weil sie wie gesagt static final sind.

QUOTE=Unregistered ist richtig. In einem Interface müssen die Attribute sofort initialsiert werden und können dann auch nicht mehr in der implementierenden Klasse geändert werden![/QUOTE]Das ist genau so korrekt. Was hindert dich daran, es in Eclipse einmal selbst auszuprobieren? Wäre das erste was ich machenwürde, wenn ich mir nicht sicher wäre und eine solche Aufgaben gestellt bekommen würde. :wink: