Final Değişkene Bir Kere Değer Atanabilir
Örnek
Şöyle yaparız
final int value;
if (condition) {
value = 1; // Ok!
} else {
value = 2; // Ok!
}
value = 3; // Compile error: value already assigned.
Final Değişken Immutable Olsa İyi Olur
Yoksa final olmasının bir önemi olmayabilir. Yani Java'daki final, C++'taki const gibi çalışmıyor.
Örnek
Şöyle yaparız. Burada Date sınıfı immutable olmadığı için, final istenilen sonucu vermez.
// Note that (obsolete) Date class is mutable in Java.
final Date myDate = new Date();
myDate = new Date(); // Compilation error: can't reassign a final reference!
myDate.setTime(4711); // Ok, mutating referenced object is allowed!
Local değişkende final specifier olması davranışı değiştirir.
Örnek
Şöyle yaparız
final int a = 97;
System.out.println(true ? a : 'c'); // outputs a
// versus
int a = 97;
System.out.println(true ? a : 'c'); // outputs 97
Hiç yorum yok:
Yorum Gönder