Saya belum menyentuh Java sejak menggunakan JBuilder di akhir 90-an saat di Universitas, jadi saya sedikit kehilangan kontak - setidaknya saya telah mengerjakan proyek Jawa kecil minggu ini, dan menggunakan Intellij IDEA sebagai IDE saya , untuk perubahan kecepatan dari perkembangan .Net biasa saya.
Saya perhatikan ada dukungan untuk menambahkan antarmuka dan @interface, apa itu @interface, dan apa bedanya dengan antarmuka normal?
public interface Test {
}
vs.
public @interface Test {
}
Saya telah melakukan sedikit pencarian, tetapi tidak dapat menemukan banyak info berguna yang merujuk ke @interface.
sumber
antarmuka:
Secara umum, sebuah antarmuka mengekspos kontrak tanpa mengekspos detail implementasi yang mendasarinya. Dalam Pemrograman Berorientasi Objek, antarmuka mendefinisikan tipe abstrak yang mengekspos perilaku, tetapi tidak mengandung logika. Implementasi didefinisikan oleh kelas atau tipe yang mengimplementasikan antarmuka.
@interface: (Jenis anotasi)
Ambil contoh di bawah ini, yang memiliki banyak komentar:
Alih-alih ini, Anda dapat mendeklarasikan jenis anotasi
yang kemudian dapat membubuhi keterangan kelas sebagai berikut:
PS: Banyak anotasi menggantikan komentar dalam kode.
Referensi: http://docs.oracle.com/javase/tutorial/java/annotations/declaring.html
sumber
Kata
interface
kunci menunjukkan bahwa Anda mendeklarasikan kelas antarmuka tradisional di Jawa.Kata
@interface
kunci digunakan untuk mendeklarasikan jenis anotasi baru.Lihat tutorial docor. Oracle pada anotasi untuk deskripsi sintaks.
Lihat JLS jika Anda benar-benar ingin masuk ke detail apa
@interface
artinya.sumber
interface:
mendefinisikan kontrak untuk kelas yang mengimplementasikannya@interface:
mendefinisikan kontrak untuk anotasisumber
antarmuka dalam bahasa pemrograman Java adalah tipe abstrak yang digunakan untuk menentukan perilaku yang harus diimplementasikan oleh kelas. Mereka mirip dengan protokol. Antarmuka dinyatakan menggunakan kata kunci antarmuka
@interface digunakan untuk membuat anotasi Java (kustom) Anda sendiri. Anotasi didefinisikan dalam file mereka sendiri, seperti kelas atau antarmuka Java. Berikut adalah contoh penjelasan Java khusus:
Contoh ini mendefinisikan anotasi yang disebut MyAnnotation yang memiliki empat elemen. Perhatikan kata kunci @interface. Ini menandakan ke kompiler Java bahwa ini adalah definisi penjelasan Java.
Perhatikan bahwa setiap elemen didefinisikan mirip dengan definisi metode di antarmuka. Ini memiliki tipe data dan nama. Anda bisa menggunakan semua tipe data primitif sebagai tipe data elemen. Anda juga dapat menggunakan array sebagai tipe data. Anda tidak dapat menggunakan objek kompleks sebagai tipe data.
Untuk menggunakan anotasi di atas, Anda dapat menggunakan kode seperti ini:
Referensi - http://tutorials.jenkov.com/java/annotations.html
sumber