CodeBlanks Logo Icon CodeBlanks

final parametre

final parametrelerle değiştirilemezliği öğrenirsin.

final parametreler

Bir parametreyi final olarak işaretlersen, metot içinde yeniden atama yapılamaz. Bu, yanlışlıkla parametreyi değiştirmeyi önler ve kodun niyetini açıkça gösterir.

static int doubleOf(final int x) {
  // x = 10; // derleme hatası
  return x * 2;
}

Burada x'i yeniden atamak derleme hatasıdır. final parametreler özellikle lambda ve iç sınıflarda önem kazanır; orada dış değişkenlerin effectively final olması gerekir.

final'in pratik kullanımı

final parametreler her zaman gerekli değildir; ama niyeti açıkça belirtir. Özellikle metot gövdesi uzunsa, parametrenin değişmediğini garanti altına almak değerlidir.

static void printArea(final int width, final int height) {
  int area = width * height;
  System.out.println("Alan: " + area);
}

Burada width ve height metot boyunca sabittir. Bu, kodu okuyan kişiye güvence verir. Çağrı tarafında final'in bir etkisi yoktur.

Uygulama Alan hesapla (final ile)

printArea adında static void metot tanımla; parametreler final int width, final int height. Gövde, alanı hesaplayıp Alan: <area> biçiminde yazdırsın. main içinden printArea(5, 3) çağır.

Başlangıç kodu

Main.java
public class Main {
  public static void main(String[] args) {
    // Metodu 5 ve 3 ile çağır
  }
  // printArea metodunu buraya tanımla
}

Örnek çözüm

Main.java
static void printArea(final int width, final int height) {
  System.out.println("Alan: " + (width * height));
}
// main içinde:
printArea(5, 3);

Beklenen çıktı

Alan: 15

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 final int x parametresi içeren bir metotta hangisi derleme hatasıdır?

  • int y = x + 1;
  • x = 10; Doğru cevap
  • return x * 2;
  • System.out.println(x);

Açıklama: final parametreye yeniden atama yapılamaz.

2 Boşluğu doldur: final parametre

Soru
static int doubleOf(____ int x) {
  return x * 2;
}
Cevap
static int doubleOf(final int x) {
  return x * 2;
}

Açıklama: final int x ile parametre değiştirilemez.

3 Anahtar kelime ve rolü eşleştir

Kavram Anlamı
static Sınıf düzeyinde tanımlar
final Yeniden atamayı engeller
void Değer döndürmez
return Değeri dışarı verir

Başlangıç bölümündeki tüm dersler