java - 实现一个java接口(interface)

标签 java interface compiler-errors implements

我有一个我想实现的接口(interface),看起来像这样,但是有更多的方法。例如,这里只有一个:

public interface List{

public void add(int position, Album album);

}

然后我的实现它的类是这样开始的,包括接口(interface)中存在的所有方法:
public class SongList implements List{

public void add(int position, Album album){
...my code for this method
}

我的编译器告诉我两个错误。第一个 - 在编译我的 List 接口(interface)时 - 说接口(interface) List 找不到我的 Song 类:
List.java:23: error: cannot find symbol
public void add(int position, Song item);
                            ^
symbol:   class Song
location: interface List
1 error

我有一个可以编译的歌曲类,它与界面和所有其他 java 文件位于同一文件夹中。
第二 - 编译 SongList 时 - 编译器说我没有覆盖 add() 方法:
SongList is not abstract and does not override abstract method add(int,Object) in List
public class SongList implements List{
       ^
1 error

我在这里很迷茫……据我搜索,我遵循接口(interface)的所有规则,但显然不是。任何想法我做错了什么?

最佳答案

第一个和第二个代码块表明 add 方法需要一个 Album,但第三个和第四个代码块表明您已经使用 Song 参数实现了 add 方法。接口(interface)需要一个需要 Song 的 add 方法,或者您的类需要实现一个需要 Album 的 add 方法——这些方法需要相同的参数。

关于java - 实现一个java接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15916198/

相关文章:

python - 我收到此错误 --> TypeError : string indices must be integers

java - 为什么 Eclipse 没有自带编译器?

java - java中有argsort函数吗?

java - Spring Java Rest处理反序列化时的无效类型

java - 引用具体类作为参数的接口(interface)方法会导致耦合吗?

ios - UICollectionViews 里面的 UISlider 导致收不到触摸事件

ios - NSInvalidArgumentException : unrecognized selector sent to instance

java - Android Jack : Lambda coming from jar file need their interfaces on the classpath to be compiled, 未知接口(interface)是 java.util.function.Consumer

c# - 如何使用隐式实现在 VB.NET 中创建接口(interface)

android - Maven编译错误: package R does not exist