AFAIK คลาสextendsแม่และคลาสimplementsอินเทอร์เฟซของฉัน implements SomeInterfaceแต่ผมทำงานในสถานการณ์ที่ฉันไม่สามารถใช้ มันคือการประกาศประเภททั่วไป ตัวอย่างเช่น:
public interface CallsForGrow {...}
public class GrowingArrayList <T implements CallsForGrow> // BAD, won't work!
extends ArrayList<T>
ที่นี่ใช้implementsเป็นสิ่งต้องห้าม syntactically ฉันคิดก่อนว่าการใช้อินเทอร์เฟซภายใน <> นั้นเป็นสิ่งต้องห้าม แต่ไม่ใช่ มันเป็นไปได้ฉันมีเพียงแค่ใช้ แทนextends implementsเป็นผลให้ฉัน "ขยาย" อินเทอร์เฟซ ตัวอย่างอื่นนี้ใช้งานได้:
public interface CallsForGrow {...}
public class GrowingArrayList <T extends CallsForGrow> // this works!
extends ArrayList<T>
สำหรับฉันดูเหมือนว่าจะไม่สอดคล้องกันทางไวยากรณ์ แต่บางทีฉันไม่เข้าใจเรื่อง Java 6 ของ finesses บ้าง? มีสถานที่อื่นที่ฉันควรจะเพิ่มส่วนต่อประสานหรือไม่ อินเทอร์เฟซที่ฉันหมายถึงการขยายควรมีคุณสมบัติพิเศษหรือไม่?