Final ve Statik Arasındaki Fark

Matematik ve bilimde sabit, 3.14159 sayısı için pratik bir isim olan 'π' gibi belirli bir değeri ifade eden bir terimdir. Java'nın sabitleri vardır. Bunlar, (a) altındaki herhangi bir nesneye ait olmayan ve alt (b) değerleri ayarlandıktan sonra değerlerini değiştirmeyen değişkenlerdir. Değişken bildirimindeki statik sözcük, değişkenin herhangi bir nesneye ait olmadığını gösterir. Değişken değerinin yalnızca bir kez ayarlanacağını ve değişmeyeceğini söyleyen benzer bir anahtar kelime var. Bu anahtar kelime finalidir. Bu anahtar kelime yalnızca statik değişkenlerle sınırlı değildir ancak örnek değişkenler, yerel değişkenler ve hatta parametre yöntemi olan değişkenlerle kullanılabilir. Değişkeni bir son olarak bildirerek, var olan değişkenin aynı değere sahip olacağını herkese gösterirsiniz. Daha da önemlisi, derleyici, bildirilen bir değişkenin değerini değiştirmek için yapılan her girişimi algılar ve bunu hata olarak rapor eder. Java terminolojisine gelince, statik ve son olarak bildirilen değişkene sabit denir.

Final Nedir?

Son değiştirici, Java programlama dilinde birkaç yerde kullanılabilir. Burada en yaygın kullanımını ele alacağız. Son değiştirici, yerel bir değişkenin, fonksiyon bağımsız değişkeninin ve statik olmayan veya statik üye değişkenlerin bildirimine uygulanabilir. Bu bağlamda, değişken değiştirici bir sabite dönüştürülür. Çeviri dili tercümanı, bazı kodların değeri değiştirmeye çalışıp çalışmadığını kontrol eder ve bu girişimler bir hata olarak işaretlenir. İşte bir örnek.

nihai int değeri = 17;

Bu değiştiriciye sahip statik üye değişkenler genel sabitler olarak kullanılır; örneğin, java.lang.Math değişkeni PI'da tam olarak belirtilir

genel statik son çift PI = 3.14159265358979323846;

Son değiştiriciyi işlev bildirimine uygulayabiliriz. Final ile işaretlenen işlev artık reddedilemez - bu onun son uygulamasıdır. Soyut yöntemler nihai olarak ilan edilemez - soyut oldukları gerçeği uygulamadan yoksun oldukları anlamına gelir; kesinlikle onların nihai hali olamaz. İşte bir örnek.

herkese açık final int anlamLife ()

dönüş 42;

Son değiştiriciyi sınıf bildirimine uygulayabiliriz. Final ile işaretlenen sınıf artık devralınamaz - bu onun son uygulamasıdır. Açıkçası, soyut sınıf aynı zamanda final olamaz. İşte bir örnek

genel final sınıfı Closed

// ...

Sonlu sınıf örneklerinden biri java.lang.String sınıfıdır - sonludur, böylece kimse onu devralmaz ve böylece üye değişkenlerine erişemez.

Statik nedir?

Statik değişkenler sınıfın belirli bir örneğine ait değildir. Statik değişkenler sınıfın kendisine aittir ve bellekte, o sınıfın bellekte oluşturulan kopya sayısına bakılmaksızın yalnızca bir konum vardır. Statik olmayan değişkenler sınıf örneklerine aittir - sınıfın her örneğinin bu değişkenlerin kendi kopyası vardır. Statik değişkenler sınıfa aittir - bellekteki sınıf bu değişkenlerin değerlerini tutar; bu nedenle tüm örnek sınıflar aynı içeriği görür, böylece statik değişkenlerin tüm sınıf boyutları arasında paylaşılmasını düşünebiliriz. Değer değişkeni güncellenerek, yeni değer otomatik olarak bu sınıfın tüm örnekleri tarafından görülebilir. Statik filtre, bir sınıf içinde yasal olarak beyan edilen herhangi bir elemana uygulanabilir. Üyelik değişkenleri durumunda, sonuç, bu üye değişkenlerin hafızada sadece bir yerde depolanmasıdır. Bir yöntemse ne olur? Yöntemi statik olarak bildirerek, ileti aynıdır: ilgili yöntem sınıfların sınıflarına değil sınıfın kendisine aittir. Sonuç olarak, statik yöntemler çağrı üzerine çağrıldıkları nesneye gizli bir başvuru almayacaktır; statik referans yöntemlerinde bu kullanılamaz. Gerçekten de, nesne boyunca statik yöntemlerin çağrılması, bu referansa başvurarak statik üye değişkenlerine erişim olarak eşit derecede kafa karıştırıcıdır: her iki durumda da, sınıfın adını, noktasını ve çağıran yöntemin adını yazmak daha iyidir..

Final ve Statik Arasındaki Fark

  1. Değişken

Statik, belirli bir sınıfı başlatan tüm nesneler için ortak olan bir değişkeni ifade ederken, final sabiti tanımlar..

  1. Yöntem

Statik, sınıf verilen her nesne için aynı olan bir yöntemdir - sınıf üyesi olarak da adlandırılır; ana yöntem budur. Son yöntem miras alınan sınıfta işlenemez.

  1. Sınıf

Final genişletilemez, yani alt sınıflara izin verilmez. Statik sınıfa uygulanmaz.

  1. değer

Basitçe ifade etmek gerekirse, son değer değerin değiştirilemeyeceğini (geçersiz kılma) belirtti. Statik değer varsayılan değerine ayarlandı, ancak yeniden başlatılabilir.

Final ve Statik: Karşılaştırma Tablosu

Final ve Statik Özeti

  • Anahtar çalışma statik, nesne (örnek) olmadığında bile erişim sağlar. Tanınmış sınıflar statik anahtar sözcüğü ile bildirilir. Programda daha sonra bazı değişikliklerin değerinin gitmesini istemiyorsanız veya derleyicinin kontrol etmesini ve yasaklamasını istiyorsanız, bu sözü son haline getirebilirsiniz. Başlatma için statik bir blok var. Başlatma için statik blok, parantezlerin önünde anahtar statik olarak bildirilir. Bu tür bloklar, okumalar sırasında bir kez gerçekleştirilir ve genellikle sınıfın statik üyelerini başlatır.