"Merhaba Amigo! Bugün paketlerden bahsedeceğiz."
"Bilgisayardaki dosyalar klasörler halinde gruplanır. Java'daki sınıflar (her sınıf ayrı bir dosyada saklanır), sabit sürücüdeki klasörlere karşılık gelen paketler halinde gruplanır. Yani burada yeni bir şey yok. İki şey var" Yine de belirtmek isterim."
" Öncelikle , bir sınıfın tam benzersiz adı, paket adı artı sınıf adından oluşur . İşte bazı örnekler:"
Tam benzersiz ad | Paket ismi | Sınıf adı |
---|---|---|
java.io.FileInputStream | java.io | Dosya Giriş Akışı |
java.lang.String | java.lang | Sicim |
java.util.ArrayList | java.util | Dizi Listesi |
org.apache.tomcat.Servlet | org.apache.tomcat | servlet |
Kedi | Belirtilmemiş | Kedi |
"Tam bir sınıf adı her zaman benzersizdir."
"Her seferinde java.util.ArrayList gibi uzun bir ad yazmak zorunda kalsaydık, bu bir acı olurdu . Bu nedenle Java, sınıfları içe aktarmanıza izin verir. Kodunuzda diğer sınıfların kısa adlarını kullanabilirsiniz, ancak sınıfınızda hangi sınıfları kullanacağınızı açıkça belirtmelisiniz."
"Bunu nasıl yaptın?"
"Şuna benzeyen bir satırla: import java.util.ArrayList;
"
"Bir sınıfın başında, paketi bildirdikten hemen sonra, kodunuzda ArrayList kullandığınızda hangi sınıfa başvurduğunuzu belirtebilirsiniz ."
"Neden işler aşırı karmaşık? Sınıfların adları aynı olabilir mi?"
"Evet. Farklı paketlerde aynı ada sahip sınıflar olabilir. Aynı ada sahip iki sınıfı içe aktaramayız , bu yüzden birini tam adıyla çağırmamız gerekir."
"İşte size bir benzetme. Jim adında bir meslektaşınız var. Bunda sorun yok: herkes onun kim olduğunu biliyor. bilinç bulanıklığı, konfüzyon."
" İkincisi , sınıfları kök src klasörüne değil, paketlere yerleştirmek her zaman daha iyidir . Çok sayıda sınıfınız olmadığında bu bir sorun değildir, ancak çok sayıda olduğunda, bunları karıştırmak kolaydır. Her zaman sınıflar oluşturun paketlerin içinde."
Java'da yaygın uygulama, sınıflara ve paketlere anlamlı adlar vermektir. Birçok şirket kitaplıklarını (sınıf kümelerini) yayınlar ve karışıklığı önlemek için şirketlerinin veya web sitelerinin adını verir:"
Paket ismi | Şirket/proje adı |
---|---|
org. apache .common org. apache .tomcat org. apache .util |
Apaçi |
com. kehanet .jdbc | kehanet |
java.io java x.servlet _ |
Güneş, Java |
com. ibm.websphere | IBM, WebSphere |
com. patron | JBoss |
GO TO FULL VERSION