Schlüsselwort "final" < Java < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 16:19 Mi 13.02.2013 | Autor: | Marcel08 |
Aufgabe | Füllen Sie die folgenden Lücken korrekt aus. In der Aufgabe a) wird eine Methode innerhalb einer Klasse deklariert. In der Aufgabe b) steht die Deklaration im Klassenrumpf. |
Hallo zusammen!
Die Inhalte der gesuchten Lücken werden jeweils in roter Farbe dargestellt.
a)
Die Methode getIndex() kann von jeder anderen Klasse aufgerufen werden. Abgeleitete Klassen dürfen diese Methode jedoch nicht überschreiben.
final public int getIndex() { return 1;}
b)
Der Bezeichner REPEAT wird mit dem Wert 1 initialisiert, der nicht verändert werden kann. Weiterhin darf auf diesen Bezeichner von jeder anderen Klasse zugegriffen werden. Für diesen Zugriff ist keine Instanz der Klasse notwendig.
public final static int REPEAT = 1;
Meine Frage bezieht sich auf die Position des Schlüsselwortes "final". Würde es unter Berücksichtigung des exakten Wortlautes der Aufgabenstellung einen Unterschied machen, ob ich
(1) in der Aufgabe a) "public final" anstatt "final public"
(2) in der Aufgabe b) "public static final" anstatt "public final static"
schreibe? Wenn ja, worin würde dann jeweils der Unterschied bestehen?
Viele Dank im Voraus, Marcel
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 16:47 Mi 13.02.2013 | Autor: | felixf |
Moin!
> Füllen Sie die folgenden Lücken korrekt aus. In der
> Aufgabe a) wird eine Methode innerhalb einer Klasse
> deklariert. In der Aufgabe b) steht die Deklaration im
> Klassenrumpf.
> Hallo zusammen!
>
>
> Die Inhalte der gesuchten Lücken werden jeweils in roter
> Farbe dargestellt.
>
> a)
>
> Die Methode getIndex() kann von jeder anderen Klasse
> aufgerufen werden. Abgeleitete Klassen dürfen diese
> Methode jedoch nicht überschreiben.
>
> final public int getIndex() { return 1;}
>
>
>
> b)
>
> Der Bezeichner REPEAT wird mit dem Wert 1 initialisiert,
> der nicht verändert werden kann. Weiterhin darf auf diesen
> Bezeichner von jeder anderen Klasse zugegriffen werden.
> Für diesen Zugriff ist keine Instanz der Klasse
> notwendig.
>
> public final static int REPEAT = 1;
>
>
>
>
> Meine Frage bezieht sich auf die Position des
> Schlüsselwortes "final". Würde es unter Berücksichtigung
> des exakten Wortlautes der Aufgabenstellung einen
> Unterschied machen, ob ich
>
> (1) in der Aufgabe a) "public final" anstatt "final
> public"
>
> (2) in der Aufgabe b) "public static final" anstatt "public
> final static"
>
>
> schreibe? Wenn ja, worin würde dann jeweils der
> Unterschied bestehen?
Es macht ueberhaupt keinen Unterschied. Die Reihenfolge, in der die Class Modifier angegeben werden, ist voellig egal. Zitat: "If two or more (distinct) class modifiers appear in a class declaration, then it is customary, though not required, that they appear in the order consistent with that shown above in the production for ClassModifier."
LG Felix
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 17:02 Mi 13.02.2013 | Autor: | Marcel08 |
Alles klar, vielen Dank.
|
|
|
|