用于extends和implements的java规则

时间:2010-03-14 05:22:45

标签: java

编码时,我创建了一个extends ArrayList<>implements Iterable<>的课程。代码是:

public class Testclass extends ArrayList<Object>, implements Iterable<Object> { }

Netbeans报告错误:

'{' expected

如何防止这种情况?

4 个答案:

答案 0 :(得分:11)

来自评论:

  

错误是'{'预期

     

代码是public class Testclass extends ArrayList<Object>, implements Iterable<Object> { }

删除该逗号,。它不属于那里。这只是一个语法错误。

将来,请阅读错误消息。如果你不能解释它,即使不是在谷歌搜索之后,只需在这里询问,完成整个错误消息和导致它的代码。通过这种方式,您可以比猜测原因更快地得到更合适的答案;)

答案 1 :(得分:2)

ArrayList没有实现Iterator。也许你的意思是Iterable?

无论如何,实现超类已经实现的接口(这只是多余的)并不是问题。

你得到什么错误?它似乎与其他东西有关。如果您使用泛型,是否确保类型匹配超类和接口?

此外,似乎违背了Collection和Iterator接口的精神,同时拥有一个对象。至少,这很令人困惑。

答案 2 :(得分:1)

对于扩展ArrayList并实现Iterator的类,您需要三种方法:

public boolean hasNext()
public Object next()
public void remove()

答案 3 :(得分:0)

删除之间的昏迷和实现

我不知道你在做什么,但是你不想要一个扩展ArrayList并实现迭代器的类。

只需实施List(如果可以,甚至可以实现Collection)。如果有人想要迭代器,他们可以调用方法yourList.iterator()。如果这是您真正想要的,您甚至可以返回自定义迭代器。