Java'da Paketler ve Nasıl Kullanılır?
Yayınlanan: 2022-04-18Java'daki paketler, ilgili sınıfları, arayüzleri ve alt paketleri gruplamak için kullanılır. İki farklı pakette aynı ada sahip iki sınıf olabileceğinden, adlandırma çakışmalarını önlemek için Java paketlerini kullanıyoruz. Ayrıca, Java paketleri ile arayüzleri, sınıfları, açıklamaları ve numaralandırmaları aramak, bulmak ve kullanmak daha kolay hale gelir.
Java programlama dilini yazılım yazmak için kullanmak çok sayıda bireysel sınıf içerir ve yalnızca ilgili sınıfları ve arabirimleri paketler halinde düzenlemek mantıklıdır. Bir bakıma Java paketlerini bir bilgisayardaki çeşitli dosyaları düzenlemek ve işimizi dağınıklıktan uzak tutmak için kullandığımız klasörlerle karşılaştırabilirsiniz.
Bu kılavuz, Java'daki farklı paket türlerini ve bunların nasıl kullanılacağını tartışacaktır.
Java'daki Paket Türleri
Java'da paketler, kullanıcının tanımlayıp tanımlamamasına göre kategorilere ayrılır. İki tür Java paketi şunlardır:
- Yerleşik paketler
- Kullanıcı tanımlı paketler
1. Yerleşik paketler
Önceden tanımlanmış veya yerleşik Java paketleri, Java Geliştirme Kiti'nin (JDK) bir parçası olarak gelir ve Java API'lerinin parçası olan önceden tanımlanmış birçok sınıf ve arabirimden oluşur. Java'da yaygın olarak kullanılan yerleşik paketlerden bazıları şunlardır:
- java.io: Giriş/çıkış işlemlerini destekleyen sınıfları içerir.
- java.lang: Bu yerleşik paket otomatik olarak içe aktarılır ve dil desteği sınıfları içerir.
- java.util: Sözlük ve destek, bağlantılı liste, tarih ve saat işlemleri vb. gibi veri yapılarını uygulamak için yardımcı program sınıfları içerir .
- java.net: Ağ işlemlerini destekleyen sınıfları içerir.
Herhangi bir yerleşik Java paketini içe aktarmak için import ifadesini kullanmalı ve içerdiği sınıfları kullanmalıyız.

Java.util paketinin ArrayList sınıfının kullanımını gösteren basit bir örnek aşağıdaki gibidir:
paket Örnek;
java.util.ArrayList'i içe aktarın;
sınıf BuiltInPackage {
public static void main(String[] args) {
ArrayList<Integer> myList = new ArrayList<>(3);
myList.add(3);
myList.add(2);
myList.add(1);
System.out.println(“Listede şu öğeler bulunur: ” + myList);
}
}
Çıktı:
Liste şu öğelere sahiptir: [3, 2, 1]
Yukarıdaki Java.util.ArrayList örneğinde, Java en üst düzey pakettir, util bir alt pakettir ve ArrayList, alt paket util'de bulunan bir sınıftır.
Java'da paketleri içe aktarma
Önceki örnekte gösterildiği gibi, Java, bir paketin tamamını içe aktarmamıza veya yalnızca pakette tanımlanan belirli arabirimleri ve sınıfları kullanmamıza izin veren bir içe aktarma ifadesine sahiptir.
import ifadesinin genel sözdizimi şöyledir:
- paket.name.SınıfAdı içe aktar; //Yalnızca belirli bir sınıfı içe aktarır
- import package.name.* //Tüm paketi içe aktarır
Örneğin, java.util.Date'i içe aktarın; yalnızca Date sınıfını içe aktarırken, içe aktar java.io.*; java.io paketinin içerdiği her şeyi içe aktarır.
Ancak, Java'da import ifadesi isteğe bağlıdır ve belirli bir paketten sınıfı veya arabirimi kullanmak istiyorsak, tam nitelikli adını aşağıdaki gibi kullanabiliriz:
class MyClass java.util.Date { öğesini uygular
//gövde
}
2. Kullanıcı tanımlı paketler
Adından da anlaşılacağı gibi, kullanıcı tarafından sınıfları, arayüzleri ve alt paketleri gruplamak için kullanıcı tanımlı paketler oluşturulur.
Kullanıcı tanımlı bir paket oluşturma
Java'da kullanıcı tanımlı bir paket oluşturmak için paketimiz için bir isim seçeceğiz ve Java kaynak dosyasında başlangıç ifadesi olarak package komutunu kullanacağız. Örnek olarak, aşağıdaki ifadeyi kullanarak ExamplePackage adlı bir paket oluşturacağız:
paket ÖrnekPaket;
Paket ifadesi, tanımladığımız sınıfların ait olacağı paketi belirtir. Paket deyimini kullanmazsak, sınıf adları Java'da adı olmayan varsayılan pakete konur.
Dünyanın en iyi Üniversitelerinden Çevrimiçi yazılım geliştirme kurslarını öğrenin. Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.
Java paketinde bir sınıf oluşturma
Paketi oluşturduktan sonraki adım, paketin içinde bir sınıf oluşturmaktır. Bunun için programın ilk deyiminde paket adını bildireceğiz, ardından sınıfı paketin bir parçası olarak dahil edeceğiz.
Aşağıda bir Java paketinde bir sınıfın nasıl oluşturulacağını gösteren basit bir program verilmiştir. Verilen bir örnekte, ExamplePackage paketinin içinde bir Calculate sınıfı oluşturuyoruz.
paket ÖrnekPaket;
public class Hesapla {
public int add(int p, int q){
p+q döndür;
}
public static void main(String args[]){
Hesapla nesne = new Hesapla();

System.out.println(obj.add(70, 12));
}
}
Çıkış: 82
Java, paketleri dosya sistemi dizinlerinde saklar. Böylece yukarıdaki program Calculate.java olarak bir dosyaya kaydedilecek ve ExamplePackage adlı dizinde saklanacaktır. Dosya derlendiğinde, Java bir '.class' dosyası oluşturacak ve onu ExamplePackage dizininde saklayacaktır.
Artık ExamplePackage paketini başka bir programda kullanabilirsiniz. İşte nasıl:
ExamplePackage.Calculate'i içe aktarın;
genel sınıf Demosu{
public static void main(String args[]){
Hesapla nesne = new Hesapla();
System.out.println(obj.add(200, 523));
}
}
Çıkış: 723
Yukarıdaki örnekte, Calculate sınıfını kullanmak için ExamplePackage paketini içe aktardık. Paketi ExamplePackage.Calculate olarak içe aktarmak, yalnızca Calculate sınıfını içe aktarır. Ancak, ExamplePackage paketinin içinde birden fazla sınıfınız varsa, aşağıdaki import ifadesini kullanarak paketin tüm sınıflarını kullanabilirsiniz:
ExamplePackage'i içe aktarın.*;
Başka bir paketi içe aktarırken bir paketin içinde sınıf oluşturma
Başka bir paketi içe aktarırken bir paketin içinde bir sınıf oluşturmak için paket adını bildirerek ve ardından diğer paketi içe aktararak başlayacağız. Aşağıdaki örnek de aynı şeyi göstermektedir:
paket DiğerPaket; //Paket bildirmek
ExamplePackage.Calculate'i içe aktarın; // bir paketi içe aktarma
genel sınıf Örnek{
public static void main(String args[]){
Hesapla nesne = new Hesapla();
System.out.println(obj.add(300, 700));
}
}
Çıkış: 1000
Yukarıdaki örnekte, OtherPackage paketini bildiriyoruz, ExamplePackage paketinden Calculate sınıfını içe aktarıyoruz ve ardından Example sınıfını oluşturuyoruz.
Tam nitelikli bir ad kullanarak bir sınıfı içe aktarma
Tam nitelikli bir ad kullanarak import deyiminden kaçınabiliriz. Tam nitelikli bir ad kullanmak, paketin yalnızca bildirilen sınıfını erişilebilir kılar. Ancak sınıfa veya arayüze her eriştiğimizde tam nitelikli bir ad kullanmamız gerekiyor. Tam nitelikli bir ad kullanarak bir sınıfı içe aktarmak, iki paket aynı sınıf adına sahip olduğunda kullanışlı olur.
Aşağıdaki örnek aynı şeyi göstermektedir:
1. Hesapla.java
paket ÖrnekPaket;
public class Hesapla {
public int add(int x, int y){
x+y'yi döndür;
}
public static void main(String args[]){
Hesapla nesne = new Hesapla();
System.out.println(obj.add(20, 50));
}
}
2. Demo.java
paket DiğerPaket; //Paket bildirmek
genel sınıf Demosu{
public static void main(String args[]){
ExamplePackage.Calculate nesnesi = new ExamplePackage.Calculate(); //İçe aktarma yerine tam nitelikli ad kullanma
System.out.println(obj.add(200, 100));
}
}
Çıkış: 300
Aşağıdaki örnekte, paketi içe aktarmak yerine nesnesini oluşturmak için tam olarak ÖrnekPackage.Calculate adını kullandık.
3. Java'daki Alt Paketler
Artık Java paketleri ve bunların nasıl oluşturulacağı hakkında bir fikrimiz olduğuna göre, Java'daki alt paket kavramını anlamamıza izin verin.
Bir alt paket, başka bir paketin içindeki bir pakettir ve paketi daha fazla kategorize etmek için kullanılır. Diğer bir deyişle, ExamplePackage paketinin içinde çarpma paketi oluşturursak, çarpma alt paketidir. Bu nedenle, bu alt paket çarpması içinde bir sınıf oluşturmak istiyorsak, alt paketin başında bir bildirimi olmalıdır.
Aşağıdaki program, bir Java alt paketi kavramını gösterir:
paket ExamplePackage.multiply; //Alt paketin bildirilmesi
public class Çarpma {
int ürün(int p, int q){
dönüş p*q;
}
}

Şimdi, Çarpma sınıfını kullanmak istiyorsak, şunları yapabiliriz:
- import ExamplePackage.multiply ifadesini kullanarak içe aktarın; veya
- ExamplePackage.multiply.Multiplication obj gibi tam nitelikli ad kullanın = new ExamplePackage.multiply.Multiplication();
İleriye Doğru
Java'daki paketler, yerleşik paketler veya kullanıcı tanımlı olabilir ve koda daha iyi erişim ve kod yönetimi için gereklidir. Java paketleri kavramı, yazılım geliştirme alanındaki herkes için çok önemlidir.
upGrad'ın Yazılım Mühendisliğinde İşe Bağlı PG Sertifikası, programlama becerilerinde ustalaşmanıza ve yazılım rollerine hazırlanmanıza yardımcı olabilecek 5 aylık bir çevrimiçi programdır. Program Java, JavaScript, CSS3, HTML5 vb. gibi önemli becerilere odaklanır ve programlamayı öğrenmek isteyen yeni başlayanlar için özel olarak tasarlanmıştır.
Programın Öne Çıkanları:
- MERN/Cloud-Native'de Uzmanlaşma
- 500+ içerik saati
- 50+ canlı oturum
- 350+ saat uygulamalı eğitim
- Beş endüstri projesi
- 360 derece öğrenme desteği
- Endüstri uzmanlarıyla ağ kurma
Üye olmak bugün ve en iyisinden öğrenin!
Paket nedir ve çeşitleri nelerdir?
Paket, sınıflar, alt sınıflar, arayüzler, açıklamalar ve numaralandırmalar gibi ilgili Java varlıklarının bir koleksiyonudur. Ayrıca alt paketler içerebilir. Java'daki paketler iki türdür - yerleşik paketler ve kullanıcı tanımlı paketler.
Java'da neden paketleri kullanıyoruz?
Java'da, adlandırma çakışmalarını önlemek, sınıfları, arayüzleri, açıklamaları ve numaralandırmaları aramayı, bulmayı ve kullanmayı kolaylaştırmak, erişimi kontrol etmek ve veri kapsülleme yapmak için paketleri kullanıyoruz.
Java'da paket düzeyinde erişim nedir?
Java'da paket düzeyinde erişim, erişim değiştiricisi belirtilmemişse Java tarafından sağlanan varsayılan erişim düzeyidir. Erişim değiştiricilerinin rolü, erişilebilirliği geçerli olduğu bir sınıf, değişken veya yöntemle sınırlamaktır.