CodeBlanks Logo Icon CodeBlanks

static metot

static metotları ve Math örneğini öğrenirsin.

static metot

Bir static metot, sınıfa aittir; örnek oluşturmadan çağrılabilir. Math.abs(-5), Integer.parseInt("10") gibi Java'nın birçok metodu static'tir. Yardımcı metotlar için idealdir.

Örnek: class MathUtil { static int square(int n) { return n * n; } }. Bu metot MathUtil.square(5) ile çağrılır; new MathUtil() gerekmez. Static metotlar sınıf adıyla çağrılır. İçlerinde this kullanılamaz; çünkü bir örneğe ait değillerdir. Yalnızca static alanlara ve diğer static metotlara doğrudan erişirler. Bu, yardımcı metotları hızlı ve kolay kullanılabilir kılar.

this kullanılamaz

Static metotların içinde this kullanılamaz. Çünkü this çağrılan örneği ifade eder; static metotta ise örnek yoktur. Aynı şekilde örnek alanlarına ve örnek metotlarına doğrudan erişilemez.

Örnek: static void print() { System.out.println(this.name); } derlenmez; this static bağlamda geçersizdir. name örnek alanıysa print içinden erişilemez. Yalnızca static alanlara erişilebilir. Bu kısıtlama, static metotların sınıf düzeyinde çalıştığını yansıtır. Örnek verisi gerekiyorsa parametre olarak geçilir veya örnek metodu kullanılır.

Uygulama MathUtil sınıfına static metot ekle

MathUtil adında bir sınıf tanımla. İçine static int square(int n) metodu ekle; n * n döndürsün. static int cube(int n) metodu ekle; n * n * n döndürsün. main içinde MathUtil.square(3) ve MathUtil.cube(2) çağır, sonuçları ayrı satırlarda yazdır.

Başlangıç kodu

Main.java
// MathUtil sınıfını tanımla
// static square ve cube metotları ekle
// main içinde çağır ve yazdır

Örnek çözüm

Main.java
class MathUtil {
    static int square(int n) {
        return n * n;
    }
    static int cube(int n) {
        return n * n * n;
    }
    public static void main(String[] args) {
        System.out.println(MathUtil.square(3));
        System.out.println(MathUtil.cube(2));
    }
}

Beklenen çıktı

9
8

Soru ve cevaplar

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

1 static metot bölümlerini eşle

Kavram Anlamı
static Anahtar kelime
square Metot ismi
MathUtil.square(5) Sınıf adıyla çağrı
return n * n Gövde

2 Bir static metodun içinde hangisine erişilemez?

  • örnek alanı Doğru cevap
  • static metot
  • static alan
  • parametre

Açıklama: Örnek alanı — static bağlamda örnek verisine erişilemez.

3 static metot tanımını tamamla

Soru
class MathUtil {
    ____ int square(int n) {
        return n * n;
    }
}
Cevap
class MathUtil {
    static int square(int n) {
        return n * n;
    }
}

Açıklama: static metot örnek olmadan çağrılır.

Orta seviye bölümündeki tüm dersler