20 Mart 2018 Salı

final değişken

Giriş
Açıklaması şöyle. Değişkene bir kere atama yapılabilir.
A variable can be declared final. A final variable may only be assigned to once. It is a compile-time error if a final variable is assigned to unless it is definitely unassigned immediately prior to the assignment 
İlk Atama
Degişken reference ise tanımlama esnasında ilklendirilebilir.
Örnek
Şöyle yaparız.
private final ArrayList<Integer> list = new ArrayList<>();
Veya constructor içinde bir kere ilklendirilebilir.
Örnek
Şöyle yaparız.
public Foo (){
  this.list = new ArrayList<Integer>();
}
Diğer
Bu işlem değişkenin const olduğu anlamına gelmez. Sadece primitive tipler icin const olur. Yani listeye ekleme çıkarma yapılabilir. Şöyle yaparız.
public add (){
  this.list.add (...);
}
Atama Yapılmazsa
Değişken default değeri ile ilklendirilir.
Örnek
Elimizde şöyle bir kod olsun.
public class Foo {
  public static void main(String[] args) {
    System.out.println(scale(5));
  }

  private static final long X = scale(10);

  private static long scale(long value) {
    return X * value;
  }
}
scale() metodu içinde X değişkeni ilklendirilmeden kullanıldığı için 0 ile başlar. Bu yüzden çıktı olarak 0 alırız.

Hiç yorum yok:

Yorum Gönder