Tujuan Pemalar Antara Muka yang Membingungkan
Di Java, adalah mungkin untuk mengisytiharkan medan dalam antara muka, menjadikannya awam, statik dan muktamad. Ini telah menimbulkan persoalan dalam kalangan pembangun.
Perangkap Antara Muka Malar
Bertentangan dengan jangkaan, mentakrifkan pemalar dalam antara muka dianggap sebagai "Anticorak Antara Muka Malar." Seperti yang dinyatakan dalam Java Efektif oleh Joshua Bloch, amalan ini tidak semestinya mendedahkan butiran pelaksanaan kepada pengguna dan menghalang pengubahsuaian kod masa hadapan. Tambahan pula, ia mengikat subkelas kepada antara muka malar.
Anomali Platform
Walaupun amaran ini, beberapa antara muka tetap boleh ditemui dalam Pustaka Standard Java, seperti java. io.ObjectStreamConstants. Keanehan ini tidak seharusnya menjadi contoh tetapi sebaliknya sebagai kontras yang perlu dielakkan.
Pendekatan Alternatif
Untuk mengelakkan perangkap yang dikaitkan dengan antara muka berterusan, pertimbangkan untuk menggunakan kelas utiliti khusus dengan pembina peribadi dan medan akhir statik.
<code class="java">public final class Constants { private Constants() {} public static final double PI = 3.14159; public static final double PLANCK_CONSTANT = 6.62606896e-34; }</code>
Pendekatan ini memastikan pemalar peribadi namun mudah diakses melalui import statik.
<code class="java">import static Constants.PLANCK_CONSTANT; import static Constants.PI; public class Calculations { public double getReducedPlanckConstant() { return PLANCK_CONSTANT / (2 * PI); } }</code>
Oleh itu, walaupun pemalar antara muka mungkin kelihatan menarik, ia harus dielakkan disebabkan oleh kecacatan reka bentuk yang berpotensi. Sebaliknya, gunakan kelas persendirian dengan perlawanan akhir statik untuk mengekalkan pangkalan kod yang bersih dan fleksibel.
Atas ialah kandungan terperinci Mengapa Antara Muka Malar Perlu Dielakkan di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!