AFAIK, extends
các lớp và implements
giao diện cha mẹ lớp của tôi . Nhưng tôi chạy qua một tình huống, nơi tôi không thể sử dụng implements SomeInterface
. Đây là tuyên bố của một loại chung chung. Ví dụ:
public interface CallsForGrow {...}
public class GrowingArrayList <T implements CallsForGrow> // BAD, won't work!
extends ArrayList<T>
Ở đây sử dụng implements
bị cấm về mặt cú pháp. Tôi nghĩ đầu tiên, việc sử dụng giao diện bên trong <> hoàn toàn bị cấm, nhưng không. Có thể, tôi chỉ phải sử dụng extends
thay vì implements
. Kết quả là, tôi đang "mở rộng" một giao diện. Một ví dụ khác hoạt động:
public interface CallsForGrow {...}
public class GrowingArrayList <T extends CallsForGrow> // this works!
extends ArrayList<T>
Đối với tôi nó có vẻ như là một sự không nhất quán cú pháp. Nhưng có lẽ tôi không hiểu một số tính năng của Java 6? Có những nơi khác mà tôi nên mở rộng giao diện? Giao diện, mà tôi muốn mở rộng, có một số tính năng đặc biệt?