Karşılaştırma Tablosu
Karşılaştırma için temel | Paketler | Arayüzler |
---|---|---|
Temel | Paketler birlikte sınıf ve / veya arayüz grubudur. | Arayüzler, soyut yöntemler ve sabit alanlar grubudur. |
Kelimeler | Paketler "Paket" anahtar sözcüğü kullanılarak oluşturulur. | Arayüz "Arayüz" anahtar sözcüğü kullanılarak oluşturulur. |
Sözdizimi | paket_adı paketi; genel sınıf sınıf_adı { . (sınıf kurumu) . } | arayüz arayüz_adı { değişken bildirimi; yöntem bildirimi; } |
Erişim | Bir paket alınabilir | Bir arayüz başka bir arayüzle genişletilebilir ve sınıf tarafından uygulanabilir. |
Access anahtar sözcüğü | Paketler "import" anahtar kelimesi kullanılarak alınabilir. | Arabirimler "gerçek" anahtar sözcüğü kullanılarak uygulanabilir. |
Paketlerin Tanımı
Paketler, çeşitli sınıf ve arayüzlerden oluşan koleksiyon veya gruplardır. Paketlerdeki sınıflar, bir kapsamda veya kalıtım yoluyla birbirleriyle ilişkilidir. Ayrıca paketinizi oluşturabilir ve programınız için kullanabilirsiniz.
Paket oluşturma
Paket oluşturmak için aşağıdaki adımları takip etmeniz yeterlidir.
- Bir dosyayı açın ve ardından [paket paket_adı; ] paket ismi, pakete vermek istediğiniz isimdir.
- Ardından, pakete koymak istediğiniz bir sınıfı tanımlayın ve onu herkese açıkladığınızı unutmayın.
- Dosyayı bir .java dosyası olarak kaydedin ve ardından dosyayı derleyin, sonra “.class” bu dosya için edinilir.
- Bu dosya için bir paket oluşturmak için kullanılan komut “javac -d. file_name.java. Paketin geçerli dizinde bir ".class" dosyası içeren oluşturulduğunu görebilirsiniz. Üst dizine yerleştirmek için “javac -d. . dosya_adı.java ”komutu.
- Alt paket adını [paket paket_adı1] olarak bildirerek de bir alt paket oluşturabilirsiniz. package_name2; ] dosyanın başında.
paket Mypackage; genel sınıf myclass {genel void displayMypackage () {system.out.println ("yöntem görüntülemePaket Mypackage sınıf sınıfının sınıfı"); }
Paketi kullanma
Dizinde oluşturulan veya mevcut olan paketler programda bir import ifadesi kullanılarak kullanılabilir. Programınızdaki herhangi bir paketi almak için kullanılan anahtar kelime “import” tir. İmport ifadesi iki şekilde yazılabilir veya herhangi bir pakete erişmenin iki yolu olduğunu söyleyebilirsiniz. Öncelikle, bir paketten belirli bir sınıfı kullanmak istiyorsanız, “import” anahtar kelimesini daha sonra nokta operatörü ve paketten kullanmak istediğiniz sınıf adı izleyen paket adı takip eder. İkincisi, paketlerde bulunan birçok sınıfı kullanmak istiyorsanız, import anahtar sözcüğünü daha sonra nokta ve ”*” operatörü tarafından takip edilen paket adı takip eder.
paket_adı'nı al. sınıf adı; veya package_name içeri aktarın. *;
Yukarıdaki kodda, ikinci yöntemin paketlerde bulunan tüm sınıfları içe aktardığını gösteren * işaretini görebilirsiniz.
Şimdi paketin kullanımını bir örnekle görelim.
Mypackage'ı içe aktar. sınıfım {sınıf TestMypackage {public static void main (string args []) {sınıfım ob1 = new sınıfım (); ob1.displayMypackage (); }} // output method displayPaket Mypackage sınıfının sınıf sınıfı.
Yukarıdaki kodda, TestMypackage sınıfı, Mypackage paketini içe aktardı ve displayMypackage () yöntemini kullandı.
Arabirimin Tanımı
Arabirim bir tür sınıftır, ancak, arabirimde bildirilen yöntemlerin soyut olduğu, ancak yöntemlerin yalnızca bildirildiği ancak tanımlanmadığı anlamına gelir. Arayüzdeki alanlar her zaman genel, statik ve sondur. Alanlar beyan sırasında başlatılmalıdır. Arabirim tarafından bildirilen yöntemler, bu arabirimi gereksinimine göre uygulayan sınıf tarafından tanımlanır. Arayüzdeki yöntemler herhangi bir işlevi yerine getirmediğinden, arayüzün herhangi bir nesnesini oluşturmanın bir faydası yoktur. Dolayısıyla, arayüz için hiçbir nesne yaratılamaz.
Arabirim ayrıca diğer arabirimi devralabilir, ancak böyle bir arabirimi miras alan sınıf, miras alınan arabirimin tüm yöntemlerini de uygulamalıdır. Alanlar, arayüzde bildirimleri sırasında başlatıldıkları için arayüzde yapıcıya gerek yoktur, dolayısıyla arayüz hiçbir yapıcı içermez. Arayüz oluşturma ve kullanma örneğini görelim.
arayüzey Alanı {float pi = 3.14; float find_area (float a, float b) {} class Circle, Area bölgesini uygular {float find_area (float a, float b) {return (pi * a * a); } Sınıf Şekilleri {public static void main (string args []) {Alan A = new Alan (); Daire C = yeni daire (); A = ° C; şamandıra F = Alan. find_area (10, 10); system.out.println ("Dairenin alanı:" + F); }
Yukarıdaki kodda, bir arayüz alanı oluşturduk ve Circle sınıfı arayüz alanını uyguladı. “Pi” alanı, bildirimi sırasında arayüzde başlatılmıştır. Circle sınıfı, sınıf alanının soyut yöntemini gereksinimine göre tanımlamıştır.
Java'da Paketler ve Arayüzler Arasındaki Temel Farklılıklar
- Bir paket, bir sınıflar ve arayüzler grubudur; oysaki arayüz, bir soyut yöntemler grubudur.
- Paket bir anahtar kelime paketi kullanılarak oluşturulur, oysa bir anahtar kelime arayüzü kullanılarak bir arayüz oluşturulur.
- Paket içindeki bir sınıf veya arabirim kullanılacaksa, bir arabirimin uygulanması gerekirken alınacak paket.
Sonuç:
Hem paketler hem de arayüz kaplar. Paket, kodun boyutunu küçültürken, yalnızca yeniden tanımlamak yerine kullanılacak sınıfı içe aktarırız. Oysa arayüz, çoklu miras sırasında meydana gelen karışıklıkları azaltır çünkü çoklu miras durumunda miras veren sınıf, hangi yöntemi miras alması gerektiğine karar vermek yerine kendi tanımını yapmalıdır.