AFAIK, extends
kelas dan implements
antarmuka orangtua kelas saya . Tapi saya mengalami situasi, di mana saya tidak bisa menggunakan implements SomeInterface
. Ini adalah deklarasi tipe generik. Sebagai contoh:
public interface CallsForGrow {...}
public class GrowingArrayList <T implements CallsForGrow> // BAD, won't work!
extends ArrayList<T>
implements
Dilarang menggunakan di sini secara sintaksis. Saya pikir pertama, bahwa menggunakan antarmuka di dalam <> dilarang sama sekali, tetapi tidak. Mungkin saja, saya hanya perlu menggunakan extends
saja implements
. Akibatnya, saya "memperluas" antarmuka. Ini contoh lain berfungsi:
public interface CallsForGrow {...}
public class GrowingArrayList <T extends CallsForGrow> // this works!
extends ArrayList<T>
Bagi saya itu tampaknya sebagai inkonsistensi sintaksis. Tapi mungkin saya tidak mengerti beberapa kemahiran Java 6? Apakah ada tempat lain di mana saya harus memperluas antarmuka? Haruskah antarmuka, yang saya maksudkan untuk diperluas, memiliki beberapa fitur khusus?