2

我发布了一个代码片段,当接口扩展和抽象类时不会给出任何语法错误。接口扩展了方法中的audio抽象类musicsort()

import java.util.List;
abstract class music {}
public interface audio {}

abstract class play implements Comparable <play> {

    public <audio extends music> void sort (List <music> list){
        //do something 
    }

}

我假设接口不能扩展抽象类。谁能解释为什么会这样?

4

2 回答 2

5

在您的示例中,第二个“音频”不是接口,而是泛型方法的类型参数。你也可以给它命名T

于 2013-05-25T04:19:33.213 回答
2

你误会了。您的 type 参数audio隐藏了 interface audio

public <T extends music> void sort(List<music> list) {
    // do something
}
于 2013-05-25T04:19:30.827 回答