Direkomendasikan, 2024

Pilihan Editor

Perbedaan Antara Paket dan Antarmuka di Jawa

Paket dan Antarmuka keduanya bertindak sebagai wadah. Konten dalam paket dan antarmuka dapat digunakan oleh kelas dengan mengimpor dan mengimplementasikannya sesuai. Perbedaan mendasar antara paket dan antarmuka adalah bahwa paket berisi sekelompok kelas dan antarmuka, sedangkan antarmuka berisi metode dan bidang. Mari kita pelajari beberapa perbedaan lain dengan bantuan grafik perbandingan.

Grafik perbandingan

Dasar untuk PerbandinganPaketAntarmuka
DasarPaket adalah sekelompok kelas dan / atau antarmuka bersama.Antarmuka adalah sekelompok metode abstrak dan bidang konstan.
Kata kunciPaket dibuat menggunakan kata kunci "Paket".Antarmuka dibuat menggunakan kata kunci "Antarmuka".
Sintaksispackage_nama paket;
class_name kelas publik {
.
(tubuh kelas)
.
}
antarmuka interface_name {
deklarasi variabel;
deklarasi metode;
}
MengaksesPaket dapat diimporAntarmuka dapat diperluas dengan antarmuka lain dan diimplementasikan oleh kelas.
Akses kata kunciPaket dapat diimpor menggunakan kata kunci "impor".Antarmuka dapat diimplementasikan menggunakan kata kunci "implement".

Definisi Paket

Paket adalah kumpulan atau grup dari berbagai kelas dan antarmuka. Kelas-kelas dalam paket terkait satu sama lain dalam beberapa lingkup atau berdasarkan warisan. Anda juga dapat membuat paket dan menggunakannya untuk program Anda.

Membuat paket

Untuk membuat paket cukup ikuti langkah-langkah berikut.

  1. Buka file dan kemudian nyatakan nama paket di bagian atas file, seperti [package package_name; ] nama paket adalah nama yang ingin Anda berikan kepada paket.
  2. Selanjutnya, Anda menentukan kelas yang ingin Anda masukkan ke dalam paket, dan ingat bahwa Anda menyatakannya publik.
  3. Simpan file sebagai file .java dan kemudian kompilasi file tersebut, kemudian ".class" diperoleh untuk file itu.
  4. Untuk membuat paket untuk file ini perintah yang digunakan adalah “javac -d. file_name.java. Anda dapat melihat bahwa paket tersebut dibuat berisi file ".class" di direktori saat ini. Untuk menempatkannya di direktori induk gunakan "javac -d. . perintah file_name.java ”.
  5. Anda juga dapat membuat subpackage dengan mendeklarasikan nama subpackage sebagai [package package_name1. package_name2; ] di bagian atas file.
 paket Mypackage; myclass kelas publik {public void displayMypackage () {system.out.println ("metode displayMypackage dari myclass kelas paket Mypackage"); } 

Menggunakan Paket

Paket yang dibuat atau tersedia di direktori dapat digunakan dalam program dengan menggunakan pernyataan impor. Kata kunci yang digunakan untuk mengimpor paket apa pun di program Anda adalah “impor”. Pernyataan impor dapat ditulis dalam dua cara, atau Anda dapat mengatakan bahwa ada dua cara untuk mengakses paket apa pun. Pertama, jika Anda ingin menggunakan kelas tertentu dari suatu paket, kata kunci “import” diikuti oleh nama paket yang diikuti oleh operator titik dan nama kelas yang ingin Anda gunakan dari paket. Kedua, jika Anda ingin menggunakan banyak kelas yang terkandung dalam paket, maka kata kunci impor diikuti oleh nama paket yang diikuti oleh titik dan operator "*".

 import package_name. nama kelas; atau impor package_name. *; 

Dalam kode di atas, Anda dapat melihat tanda * yang menunjukkan bahwa metode kedua mengimpor semua kelas yang terkandung dalam paket.

Sekarang, mari kita lihat penggunaan paket dengan contoh.

 impor Mypackage. myclass {class TestMypackage {public static void main (string args []) {myclass ob1 = new myclass (); ob1.displayMypackage (); }} // metode output displayMypackage kelas myclass paket Mypackage. 

Dalam kode di atas, kelas TestMypackage telah mengimpor paket Mypackage dan menggunakan metode displayMypackage ().

Definisi Antarmuka

Antarmuka adalah semacam kelas, tetapi berbeda dalam arti bahwa metode yang dideklarasikan dalam antarmuka adalah abstrak yang berarti metode hanya dideklarasikan tetapi tidak didefinisikan. Bidang dalam antarmuka selalu bersifat publik, statis, final. Field harus diinisialisasi pada saat deklarasi. Metode yang dideklarasikan oleh antarmuka didefinisikan oleh kelas yang mengimplementasikan antarmuka itu sesuai dengan kebutuhannya. Karena metode di antarmuka tidak melakukan fungsi apa pun, jadi tidak ada gunanya membuat objek apa pun dari antarmuka. Oleh karena itu, tidak ada objek yang dapat dibuat untuk antarmuka.

Antarmuka juga dapat mewarisi antarmuka lain tetapi, kelas yang mewarisi antarmuka tersebut juga harus menerapkan semua metode antarmuka yang diwariskan. Karena bidang diinisialisasi pada saat deklarasi mereka di antarmuka, sehingga tidak perlu konstruktor di antarmuka maka, antarmuka tidak mengandung konstruktor apa pun. Mari kita lihat contoh membuat dan menggunakan antarmuka.

 Area antarmuka {float pi = 3.14; float find_area (float a, float b) {} class Circle mengimplementasikan Area {float find_area (float a, float b) {return (pi * a * a); } Bentuk Kelas {public static void main (string args []) {Area A = Area baru (); Lingkaran C = lingkaran baru (); A = C; float F = Area. find_area (10, 10); system.out.println ("Area lingkaran adalah:" + F); } 

Dalam kode di atas, kami telah membuat Area antarmuka, dan Lingkaran kelas telah mengimplementasikan Area antarmuka. Kolom "pi" telah diinisialisasi dalam antarmuka pada saat deklarasi. Lingkaran kelas telah mendefinisikan metode abstrak dari area kelas sesuai dengan kebutuhannya.

Perbedaan Utama Antara Paket dan Antarmuka di Jawa

  1. Paket adalah sekelompok kelas dan antarmuka bersama sedangkan, antarmuka adalah sekelompok metode abstrak.
  2. Paket dibuat menggunakan paket kata kunci sedangkan, antarmuka dibuat menggunakan antarmuka kata kunci.
  3. Jika kelas atau antarmuka di dalam suatu paket akan digunakan, paket tersebut akan diimpor sementara antarmuka harus diimplementasikan.

Kesimpulan:

Baik paket dan antarmuka adalah wadahnya. Paket mengurangi ukuran kode karena kami hanya mengimpor kelas yang akan digunakan, bukan mendefinisikannya lagi. Sedangkan antarmuka mengurangi kebingungan yang terjadi saat beberapa pewarisan karena dalam kasus pewarisan berganda, kelas pewaris tidak harus memutuskan bahwa definisi metode mana yang harus diwarisi melainkan menentukan sendiri.

Top