Hat einer bestanden final-variable in Java-Aufenthalt endgültig auf die andere Seite?

Habe ich nur über einige code, verwirrt mich etwas; es gibt eigentlich 2 Varianten, die ich möchte, zu klären.

Beispiel 1:

public String getFilepath(){
        final File file = new File(this.folder, this.filename);
        return file.getAbsolutePath();
    }

Was wäre der Zweck deklarieren file "final"? Da Java-primitive, die als Wert übergeben werden, und getAbsolutePath() ist einfach wieder ein String die variable nicht final auf der anderen Seite (calling method), oder? Und da die file variable existiert nur innerhalb des Geltungsbereiches dieser 2 Linien, ich sehe nicht wirklich irgendeinen Zweck, der final Schlüsselwort. Gibt es etwas, was ich bin fehlt? Jemand einen Grund sehen, dies zu tun?

Beispiel 2:

public String getFilepath(){
        final File file = new File(this.folder, this.filename);
        return file;
    }

Da hier das eigentliche Objekt zurückgegeben wird... bedeutet das, dass das file variable Konstante/final auf der anderen Seite...? Es scheint nicht sinnvoll.

Im Allgemeinen, es scheint mir, dass Sie übergeben Sie eine variable, ohne es Zugang geben. Wie kann ich private variable in einer Funktion mit einem public get-Funktion, die gibt es - aber die variable, erhält es durch den Aufruf der Funktion angeben, eine access-modifier. Also, wenn es gibt public der zurückgegebene variable public in diesem Bereich. Wenn es gibt private der zurückgegebene variable private in diesem Bereich. Gibt es einen Unterschied mit final? Ist die "Konstanz" der eine variable etwas, das weitergegeben werden kann? Das scheint mir eher unwahrscheinlich, wenn man bedenkt, was ich weiß, von Java.

Oder Liege ich vollkommen daneben und es gibt einige andere Zweck der final Schlüsselwort in dem obigen code?

Edit:

Ich checkte wieder mit der ursprünglichen Entwickler haben den code geschrieben, und er sagte, dass er nur die final Schlüsselwort, weil er ursprünglich dachte die Methode wäre viel länger, und wollte sicherstellen, dass die Datei blieb konstant. Er sagte auch, dass er generell deklariert Variablen, die nicht geändert werden sollte, als final in der Regel über die board-und Art-on-Prinzip - ein Punkt, der sowohl die Antworten, die unten genannten. So es scheint, ich war zu viel zu Lesen, in eine einfache extra-keyword enthalten, für die standards Gründen. Vielen Dank an alle!

InformationsquelleAutor froadie | 2010-02-19
Schreibe einen Kommentar