Anahtar Farkı – Java'da statik ve final
Her programlama dilinin belirli bir sözdizimi vardır. Programcı, program yazarken bu sözdizimlerini takip etmelidir. Programlama dillerinin anahtar kelimeleri, görevlere göre belirli anlamlara sahiptir. Programlama dili tarafından sağlanırlar ve kullanıcı tanımlı değişkenler, yöntemler, sınıflar vb. için kullanılamazlar. Java'da static ve final iki anahtar kelimedir. Bu makalede Java'da statik ve nihai arasındaki fark tartışılmaktadır. Java'da static ve final arasındaki temel fark, static öğesinin sınıfın herhangi bir nesnesinden bağımsız olarak kullanılabilen sınıf üyesini tanımlamak için kullanılması, final öğesinin ise sabit bir değişkeni veya geçersiz kılınamayan bir yöntemi veya bir sınıfı bildirmek için kullanılmasıdır. miras alınamaz.
Java'da statik nedir?
A sınıfı, veri üyelerinden (öznitelikler) ve yöntemlerden oluşur. Yöntemleri çağırmak için, o belirli sınıfın bir nesnesi olmalıdır. Bir yöntem statik olarak bildirildiğinde, bu yöntemi çağırmak için bir nesne oluşturmaya gerek yoktur. Yöntem, sınıf adı kullanılarak çağrılabilir. Aşağıdaki programa bakın.
Şekil 01: Statik değişkenlere ve statik Yönteme sahip Java Programı
Yukarıdaki programa göre A sınıfı, sayı değişkeni ve görüntüleme yöntemini içerir. Her ikisi de statik üyelerdir. Bu nedenle, sayı değişkenine ve görüntüleme yöntemine erişmek için bir nesne oluşturmaya gerek yoktur. Programcı, numarayı yazdırmak ve yöntem ekranını çağırmak için doğrudan sınıf adını yazabilir. Bu nedenle, bir nesneyi başlatmaya gerek yoktur. Sayı değişkeni ve görüntüleme yöntemi statik değilse, A tipinde bir nesne olmalıdır.
Şekil 02: Statik Blok Kullanımı
Yukarıdaki program statik bloğu ve ana yöntemi içerir. Statik blok, sınıf yüklendiğinde çağrılır. Bu nedenle, statik bloktaki ifade, ana bloktaki ifadeden önce yürütülür. Çok sayıda statik blok varsa, bunlar sırayla yürütülür.
Java'da son nokta nedir?
Programda çeşitli türlerde değişkenler olabilir. int x=1 şeklinde bir değişken varsa; programda daha sonra, bu değişken değeri başka bir değere değiştirilebilir. Final olarak bildirilen ve bir değerle ilklendirilen bir değişken programda daha sonra değiştirilemez.
Şekil 03: Son Değişkenli ve Kalıtımlı Program
Yukarıdaki programa göre, x bir son değişkendir. 5 değerine atanmıştır. Final olarak bildirildiği için başka bir değer değiştirilemez. Java, Nesne yönelimli programlamayı (OOP) destekler. OOP'nin bir ayağı bir polimorfizmdir. Bir tür polimorfizm geçersiz kılıyor. A sınıfı görüntüleme yöntemine sahiptir. B sınıfı, A sınıfını genişletir ve kendi görüntüleme yöntemine sahiptir. B tipi bir nesne oluştururken ve görüntüleme yöntemini çağırırken çıktı olarak “B” yazdırılacaktır. A sınıfının görüntüleme yöntemi, B sınıfının görüntüleme yöntemi tarafından geçersiz kılınır.
Programcı bir yöntemi geçersiz kılmaktan kaçınırsa, o yöntem için final anahtar sözcüğünü kullanabilir. A sınıfındaki görüntüleme yöntemi nihai ise, B'deki görüntüleme yöntemi bu yöntem geçersiz kılınamayacağı için hata verecektir.
Şekil 04: Yöntemdeki son anahtar kelime
OOP'nin diğer bir ayağı kalıtımdır. Halihazırda var olan kodun yeniden kullanılmasına yardımcı olur. Yeni sınıf, mevcut sınıftan genişletilebilir ve mevcut sınıfın veri üyelerini ve yöntemlerini kullanabilir. Bir sınıfı devralmayı durdurmak gerekirse, programcı 'final' anahtar kelimesini kullanabilir. Aşağıdaki programa bakın.
Şekil 05: Sınıftaki son anahtar kelime
Yukarıdaki programa göre A sınıfı final olarak ilan edilir. B sınıfı A'yı genişlettiğinde A sınıfı final olarak bildirildiği için hata veriyor. Diğer sınıflar tarafından miras alınamaz.
Java'da statik ve nihai arasındaki benzerlik nedir?
Hem statik hem de son Java'daki anahtar kelimelerdir
Java'da statik ve nihai arasındaki fark nedir?
Statik vs Java'da final |
|
Statik anahtar kelime, bir üye değişkene veya yönteme, ait olduğu sınıfın örneğinin oluşturulması gerekmeden erişilebileceğini belirtir. | Son anahtar kelime, yalnızca bir kez atanabilen bir varlığı belirtir. |
Değişkenler | |
Statik değişkenler yeniden başlatılabilir. | Son değişkenler yeniden başlatılamaz. |
Yöntemler | |
Diğer statik yöntemlerle çağrılabilir ve yalnızca sınıfın statik üyelerine erişebilir. | Son yöntemler geçersiz kılınamaz. |
Sınıf | |
Statik sınıf nesnesi oluşturulamaz. Yalnızca statik üyeler içerir. | Son sınıf diğer sınıflar tarafından miras alınamaz. |
Blok | |
Statik anahtar kelime bir blokta kullanılabilir. | Son anahtar kelime bir blokla kullanılmaz. |
Özet – Java'da statik vs final
Bu makale Java'da statik ve final gibi iki anahtar kelimeyi tartıştı. Java'da static ve final arasındaki fark, static öğesinin sınıfın herhangi bir nesnesinden bağımsız olarak kullanılabilen sınıf üyesini tanımlamak için kullanılması, final öğesinin ise sabit bir değişkeni veya geçersiz kılınamayan bir yöntemi veya geçersiz kılınamayan bir sınıfı bildirmek için kullanılmasıdır. miras kalmak.