Java'da Statik ve Final Arasındaki Fark

Yazar: Laura McKinney
Yaratılış Tarihi: 2 Nisan 2021
Güncelleme Tarihi: 16 Mayıs Ayı 2024
Anonim
Java'da Statik ve Final Arasındaki Fark - Teknoloji
Java'da Statik ve Final Arasındaki Fark - Teknoloji

İçerik


Statik ve son ikisi de Java'da kullanılan anahtar kelimelerdir. Statik üyeye, sınıf nesnesi oluşturulmadan önce erişilebilir. Final, sınıfa, yöntemlere ve değişkenlere uygulandığında farklı bir etkiye sahiptir. Bir statik ve son anahtar kelime arasındaki temel fark şudur: statik Anahtar sözcük, o sınıfın herhangi bir nesnesinden bağımsız olarak kullanılabilecek sınıf üyesini tanımlamak için kullanılır. final anahtar kelime, sabit bir değişken, geçersiz kılınamayan bir yöntemi ve miras alınamayan bir sınıfı bildirmek için kullanılır.

  1. Karşılaştırma Tablosu
  2. Tanım
  3. Anahtar Farklılıklar
  4. Sonuç

Karşılaştırma Tablosu

Karşılaştırma için temelStatikfinal
uygulanabilirStatik anahtar kelime iç içe statik sınıfa, değişkenlere, yöntemlere ve bloğa uygulanabilir.Son anahtar kelime, sınıf, yöntem ve değişkenler için geçerlidir.
BaşlatmaStatik değişkeni bildirimi sırasında başlatmak zorunlu değildir.Nihai değişkeni beyanı sırasında başlatmak zorunludur.
değişiklikStatik değişken yeniden başlatılabilir.Son değişken yeniden başlatılamaz.
YöntemlerStatik yöntemler yalnızca sınıfın statik üyelerine erişebilir ve yalnızca diğer statik yöntemler tarafından çağrılabilir.Son yöntemler miras alınamaz.
SınıfStatik sınıflar nesnesi oluşturulamaz ve yalnızca statik üyeler içerir.Son sınıf, herhangi bir sınıf tarafından miras alınamaz.
BlokStatik blok, statik değişkenleri başlatmak için kullanılır.Son anahtar kelime böyle bir bloğu desteklemez.


Statik tanımı

Statik, sınıflar, değişkenler, yöntemler ve bloklar için geçerli bir anahtar kelimedir. Sınıf üyeleri, sınıf ve bloklar, sırasıyla sınıf üyeleri, sınıf ve bloklar önünde “statik” anahtar sözcüğü kullanılarak statik hale getirilebilir. Bir sınıf üyesi statik olarak ilan edildiğinde, sınıfın diğer tüm üyeleri için global hale gelir. Sınıfın statik üyesi, örnek olarak hafızayı işgal etmez, yani tüm nesneler aynı statik üyenin kopyasını paylaşır. Statik üye, o sınıfın herhangi bir nesnesinden bağımsız olarak kullanılabilir. Sınıfının statik üyesine, nesnesi oluşturulmadan önce erişebilirsiniz. Statik üyenin en iyi örneği main () metodudur, statik olarak ilan edilir, böylece herhangi bir nesne var olmadan çağrılabilir. Sınıfın statik üyesine erişmek için genel form:

class_name.static_member // sınıfın statik üyesine erişiyor

Yukarıdaki kodda class_name, static_member öğesinin tanımlandığı sınıfın adıdır. Statik üye statik bir değişken veya statik bir yöntem olabilir


Statik değişkenler:

  • Statik bir değişken, sınıfın diğer tüm veri üyeleri için global bir değişken gibi davranır.
  • Sınıfın herhangi bir nesnesinden önce statik bir değişkene erişilebilir.
  • Nokta (.) Operatörü tarafından tanımlandığı sınıf ismi ile statik bir değişkene erişilebilir.

Statik Yöntemler:

  • Statik bir yöntem yalnızca diğer statik yöntemleri arayabilir.
  • Statik bir yöntem yalnızca statik verilere erişebilir.
  • Statik bir yöntem hiçbir koşulda “this” veya “super” olarak adlandırılamaz.
  • Nokta (.) Operatörü tarafından tanımlandığı sınıf adı ile statik bir yönteme erişilebilir.

Statik sınıf:

  • Java, iç içe statik sınıf kavramına sahiptir. En dıştaki sınıf statik yapılamaz, oysa en içteki sınıf statik yapılamaz.
  • Statik iç içe geçmiş bir sınıf, dış sınıfın statik olmayan üyesine erişemez.
  • Sadece dış sınıfın statik üyelerine erişebilir.

Statik Blok:

Statik blok, sınıf yüklendiğinde yalnızca bir kez yürütülür. Sınıfın statik değişkenlerini başlatmak için kullanılır.

C ++:

C ++ 'da statik değişkenler ve statik fonksiyonlar kavramına sahibiz, oysa C ++ statik sınıfı desteklememektedir.

C #:

C # ayrıca statik sınıfı, statik değişkenleri ve statik Sınıfı da destekler.

Java:

Java statik iç içe sınıfı, statik değişkenleri, statik yöntemleri destekler.

Finalin Tanımı

Final, sınıf, değişken ve yöntemlere uygulanabilir bir anahtar kelimedir. Sınıf, değişken ve yöntem, adlarından önce gelen “final” anahtar sözcüğünü kullanarak final olarak ilan edilir. Bir değişken nihai olarak bildirildiğinde; programda daha fazla değiştirilemez. Son bir değişken, bildirimde başlatılmalıdır. Son değişkenler, örnek başına bazında bellek içermiyor. Sınıfların tüm nesneleri, son değişkenin aynı kopyasını paylaşır.

Final olarak bildirilen yöntem, final yönteminin bildirildiği sınıfın alt sınıfı tarafından geçersiz kılınamaz. Bir sınıf final olarak ilan edildiğinde, diğer sınıf o final dersini devralmaz. C ++, C # kavramı ise son anahtar kelimeyi desteklemiyor. Java, son anahtar kelime kavramını ve Java’yı destekler; sınıf, değişken ve yöntem nihai olarak bildirilebilir.

  1. Statik anahtar kelime iç içe statik sınıfa, değişkenlere, yöntemlere ve bloklara uygulanabilir. Diğer yandan, son anahtar kelime, sınıf yöntemleri ve değişkenleri için geçerlidir.
  2. Statik değişken herhangi bir zamanda başlatılabilir, oysa son bir değişken bildirimde başlatılmalıdır.
  3. Statik bir değişken yeniden başlatılabilir, oysa bir kez başlatıldığında son değişken asla yeniden başlatılamaz.
  4. Statik bir yöntem, sınıfın statik üyesine erişebilir ve yalnızca diğer statik yöntemler tarafından çağrılabilir. Öte yandan, son yöntem hiçbir zaman herhangi bir sınıf tarafından miras alınamaz.
  5. Statik blok statik değişkenleri başlatmak için kullanılır, oysa son anahtar kelime herhangi bir bloğu desteklemez.

Sonuç:

Hem statik hem de son anahtar kelime, sınıfa, değişkene ve yönteme uygulandığında farklı bir amacı çözer.