ฉันรู้ว่าไม่สามารถกำหนดนวกรรมิกในอินเทอร์เฟซได้ แต่ฉันสงสัยว่าทำไมเพราะฉันคิดว่ามันมีประโยชน์มาก
ดังนั้นคุณสามารถมั่นใจได้ว่ามีการกำหนดบางฟิลด์ในคลาสสำหรับทุกการใช้อินเทอร์เฟซนี้
ตัวอย่างเช่นพิจารณาคลาสข้อความต่อไปนี้:
public class MyMessage {
public MyMessage(String receiver) {
this.receiver = receiver;
}
private String receiver;
public void send() {
//some implementation for sending the mssage to the receiver
}
}
หากการกำหนดอินเตอร์เฟสสำหรับคลาสนี้เพื่อให้ฉันสามารถมีคลาสเพิ่มเติมซึ่งใช้อินเตอร์เฟสข้อความฉันสามารถกำหนดวิธีการส่งไม่ใช่ตัวสร้าง ดังนั้นฉันจะมั่นใจได้อย่างไรว่าการใช้งานคลาสนี้ทุกชุดมีตัวรับสัญญาณจริง ถ้าฉันใช้วิธีการเช่นsetReceiver(String receiver)
ฉันไม่แน่ใจว่าวิธีนี้เรียกว่าจริง ๆ ในตัวสร้างฉันสามารถตรวจสอบได้