接口和实现的方法

时间:2013-07-06 14:44:27

标签: java api interface abstract-class

我有一个问题。基于Java 7 API Collection是一个接口,但它带有一些具体的方法,如size()。我不明白,该接口如何包含已实现的方法。如果那是一个抽象类是有道理的。 最好的问候

3 个答案:

答案 0 :(得分:2)

  

Collection是一个接口,但它带有一些具体的方法,例如size()。

事实并非如此。您已经知道的接口只定义了契约,并将实现留给了实现它的类。如果您指的是

Collection<String> collection = new ArrayList<String>();
System.out.println("Size of the collection is: " + collection.size());

请注意,size()实施是由ArrayList而不是Collection提供的。

答案 1 :(得分:0)

java.util.Collection没有实现方法,它是一个接口。这是size方法的声明:

/**
 * Returns the number of elements in this collection.  If this collection
 * contains more than <tt>Integer.MAX_VALUE</tt> elements, returns
 * <tt>Integer.MAX_VALUE</tt>.
 *
 * @return the number of elements in this collection
 */
int size();

答案 2 :(得分:0)

任何方法都没有具体的实现方式。您引用的方法size也没有任何具体实现。

/**
 * Returns the number of elements in this collection.  If this collection
 * contains more than <tt>Integer.MAX_VALUE</tt> elements, returns
 * <tt>Integer.MAX_VALUE</tt>.
 *
 * @return the number of elements in this collection
 */
int size();