Panduan untuk Interface Dalaman di Java

1. Pengenalan

Dalam tutorial ringkas ini, kita akan melihat antara muka dalaman di Java. Mereka digunakan terutamanya untuk:

  • menyelesaikan masalah ruang nama apabila antara muka mempunyai nama yang sama
  • peningkatan enkapsulasi
  • meningkatkan kebolehbacaan dengan mengelompokkan antara muka yang berkaitan di satu tempat

Contoh yang terkenal ialah antara muka Entry yang dinyatakan di dalam antara muka Peta . Ditentukan dengan cara ini, antara muka tidak berada dalam ruang lingkup global, dan ia disebut sebagai Peta. Masuk membezakannya dari antara muka Entri lain dan menjadikan hubungannya dengan Peta jelas.

2. Antara muka dalaman

Secara definisi, pengisytiharan antara muka dalaman berlaku di badan antara muka atau kelas lain.

Mereka secara tersirat bersifat publik dan statis serta bidangnya ketika diisytiharkan di antara muka lain (mirip dengan deklarasi lapangan di antara muka tingkat atas), dan mereka dapat dilaksanakan di mana saja:

public interface Customer { // ... interface List { // ... } }

Antaramuka dalaman yang dinyatakan dalam kelas lain juga statik , tetapi mereka dapat memiliki penentu akses yang dapat mengekang di mana ia dapat dilaksanakan:

public class Customer { public interface List { void add(Customer customer); String getCustomerNames(); } // ... }

Dalam contoh di atas, kita mempunyai Senarai antara muka yang akan menjadi mengisytiharkan beberapa operasi pada senarai Pelanggan seperti menambah yang baru, mendapatkan String perwakilan dan sebagainya.

Senarai adalah nama yang lazim, dan untuk bekerjasama dengan perpustakaan lain yang menentukan antara muka ini, kita perlu memisahkan perisytiharan kita, iaitu, ruang nama .

Di sinilah kita menggunakan antara muka dalaman jika kita tidak mahu menggunakan nama baru seperti CustomerList.

Kami juga menyimpan dua antara muka yang berkaitan untuk meningkatkan enkapsulasi.

Akhirnya, kita dapat meneruskan pelaksanaannya:

public class CommaSeparatedCustomers implements Customer.List { // ... }

3. Kesimpulannya

Kami melihat dengan cepat antarmuka dalaman di Jawa.

Seperti biasa, sampel kod boleh didapati di GitHub.