Saya menggunakan fitur refactoring "antarmuka tarik" dari Eclipse hari ini untuk membuat antarmuka berdasarkan kelas yang ada. Kotak dialog ditawarkan untuk membuat semua metode baru dari antarmuka baru sebagai metode "abstrak".
Apa manfaatnya?
Saya pikir fakta bahwa Anda diizinkan untuk mendeklarasikan metode antarmuka sebagai abstrak adalah fitur bahasa yang berlebihan dan tidak berbahaya yang tidak terlalu dianjurkan.
Mengapa Eclipse mendukung gaya seperti itu, atau mengapa seseorang secara sukarela memilih untuk melakukannya?
Klarifikasi: Saya tidak bertanya mengapa metode antarmuka abstrak, itu jelas. Saya bertanya mengapa seseorang secara eksplisit memilih untuk menandai mereka sebagai abstrak karena jika mereka berada di antarmuka mereka tetap abstrak.
abstract
kata kunci pada deklarasi antarmuka itu sendiri, bukan pada anggotanya. @ Will menjawab di bawah ini dengan benar dan juga berisi sumber tautan yang valid."Manfaatnya" (menambahkan abstrak pada deklarasi metode antarmuka) dalam eclipse akan menjadi masalah kompatibilitas yang lama dengan kompiler jdt eclipse di jdk1.3
Karena kompilator Eclipse kemungkinan berada di tingkat kepatuhan 1,4 (lihat
Workbench>Preferences>Java>Compiler>JDK Compliance
), atau menggunakan setidaknya perpustakaan kelas 1,3 jika menggunakan mode kepatuhan 1,3, kehadiran "abstrak" tidak diperlukan di sebagian besar proyek gerhana saat ini.sumber
Dari Java SE 7 JLS (Spesifikasi Bahasa Jawa): "Ini diizinkan, tetapi tidak disarankan karena masalah gaya, untuk secara berlebihan menentukan pengubah publik dan / atau abstrak untuk metode yang dideklarasikan dalam sebuah antarmuka."
Untuk Java SE 5.0 : "Untuk kompatibilitas dengan versi Java platform yang lebih lama, itu diperbolehkan tetapi tidak dianjurkan, sebagai soal gaya, untuk secara berlebihan menentukan pengubah abstrak untuk metode yang dideklarasikan dalam antarmuka."
sumber
Menurut metode JLS di antarmuka abstrak secara default, sehingga kata kunci berlebihan. Mengetahui hal ini, saya tidak akan pernah menggunakannya untuk "menghindari kekacauan presentasional".
sumber