Soru & Cevap

fonksiyon içinde static değişken

17.10.2014 - 11: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?

26 Görüntülenme

2 Cevap

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

Profile picture for user umut_ozden
umut_ozden
18.10.2014 - 05: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?

ahmtbrk
18.10.2014 - 05: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.
anilsozeri
18.10.2014 - 05:47
final derseniz değişkene bir kere değer atayabilirsiniz sonra değiştiremezsiniz, onun dışında Ahmet'in dediği gibi.
picture-1372-1408467635.jpg
ahmtbrk
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]