Turkcell | Geleceği Yazanlar

Soru & Cevap

fonksiyon içinde static değişken

17.10.2014 - 23:30

Merhaba,

C/C++'da örneğin bir fonksiyonun kaç kere çağrıldığını aşağıdaki şekilde öğrenebiliyoruz.

void func() 

{

static int = 1;

printf("%d nci çağrılış\n");

i++;

}

Bunun Java eşdeğeri nedir?

2933 Görüntülenme

2 Cevap

Umut Özden
18.10.2014 - 17:35

Merhaba,

Verdiğiniz örnekte methodCalledCount class genelinde tanımlanmış. Benim kasttettiğim, methoda özgü, method içinde tanımlanmış, ama method her çağrıldığında bir önceki değerini hatırlayan bir değişken. C/C++'da verdiğim örnekte olduğu gibi bu mümkün. Java'da mümkün değil mi?

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Ahmet Burak Demirkoparan
18.10.2014 - 17:41
Bildiğim kadarıyla mümkün değildir global değişken aracılığı ile karşılaman lazım bunu local değişken iş bittiğinde ölür.
Anıl SÖZERİ
18.10.2014 - 17:47
final derseniz değişkene bir kere değer atayabilirsiniz sonra değiştiremezsiniz, onun dışında Ahmet'in dediği gibi.
Ahmet Burak Demirkoparan
18.10.2014 - 08:49

[code]

public class Test {
    
    private static int methodCalledCount;

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        herhangiBirMethod();
        herhangiBirMethod();
        herhangiBirMethod();
        System.out.println("count="+methodCalledCount);
        herhangiBirMethod();
        herhangiBirMethod();
        System.out.println("count="+methodCalledCount);
    }
    
    public static void herhangiBirMethod(){
        methodCalledCount++;
    }

}

[/code]

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.