static metot
- Java kursu
- Orta seviye
- Ders 31/116
- 5 dk
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
// MathUtil sınıfını tanımla
// static square ve cube metotları ekle
// main içinde çağır ve yazdırÖrnek çözüm
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
class MathUtil {
____ int square(int n) {
return n * n;
}
}
class MathUtil {
static int square(int n) {
return n * n;
}
}
Açıklama: static metot örnek olmadan çağrılır.