final parametre
- Java kursu
- Başlangıç
- Ders 81/116
- 4 dk
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
public class Main {
public static void main(String[] args) {
// Metodu 5 ve 3 ile çağır
}
// printArea metodunu buraya tanımla
}Örnek çözüm
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
static int doubleOf(____ int x) {
return x * 2;
}
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 |