SORU
30 Temmuz 2012, PAZARTESİ


Java Deklarasyonu ve tanımı arasındaki fark nedir?

İki dönem arasında çok kafam karıştı. Stackoverflow baktım ama java için C değil benzer bir soru var.

Birisi java için iki dönem arasındaki farkı açıklayabilir mi?

CEVAP
30 Temmuz 2012, PAZARTESİ


Kavramsal fark basittir:

  • Beyannamesi:ilanbir şey var, bir sınıf, fonksiyon veya değişken gibi. Hakkında hiçbir şey söylemiyorsunnesınıf veya işlev gibi görünüyor, sadece var olduğunu söylüyorlar.

  • Tanım:tanımlayınbir şey, bir sınıf, fonksiyon veya değişken gibi nasıl uygulanır, yani diyorsunneaslında.

Javaikisi arasında çok az fark var, ve resmen konuşan bir beyan tanımlayıcı, ama aynı zamanda tanım değil sadece içerir. Ben şahsen ayrıntı: şartlar yorumlamak nasıl

  • SınıflarJava gerçekten C/C yok (header ve cpp dosyaları) olarak bildirimleri ve tanımları ayrı değil. Bunları bildirmek noktada onları tanımlamak.

  • Fonksiyonlar: Interface (ya da soyut bir sınıf) yazarken, bir işlevi bildirmek olduğunu tanımlamadan söyleyebiliriz. Olağan işlevleri ancak, her zaman doğru ilan nerede olduklarını tanımlanır. Eğer istersen onun tanımı işlevi vücut bakın.

  • DeğişkenlerBir değişkenbeyannamesibu gibi görünebilir:

    int x;
    

    (değişken x var olduğunu ilan ettin ve 4* *türü vardır) ya da yerel bir değişken ya da üye alanı. Java, bilgi x yaklaşık kalmadı hiçtanımlayınOlası dışında ne değerleri için atamaları belirleyeceği tutun.

İşte koşullarım nasıl kaba bir özeti:

abstract class SomeClass {                // class decl.
                                          //                           \
    int x;                                // variable decl.            |
                                          //                           |
    public abstract void someMethod();    // function decl.            |
                                          //                           |
    public int someOtherMethod() {        // function decl.            |
                                          //                           | class
        if (Math.random() > .5)           // \                         | def.
            return x;                     //  |  function definition   |
        else                              //  |                        |
            return -x;                    // /                         |
                                          //                           |
    }                                     //                           |
}                                         //                          /

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • David Wills

    David Wills

    31 Aralık 2007
  • Matthew Pearce

    Matthew Pear

    9 AĞUSTOS 2009
  • TheFlightsuit

    TheFlightsui

    22 HAZİRAN 2009