foo*_*ill 2 java oop inheritance interface
在使用此声明时,我刚想出来:
Queue<T> q = new LinkedList<T>();
Run Code Online (Sandbox Code Playgroud)
据我所知,这Queue是一个接口,LinkedList类"实现"Queue拥有的所有方法(add remove peek等).
但是,我查看了LinkedList(openjdk6)的源代码,却发现该类没有显式实现Queue接口.
public class LinkedList<E>
extends AbstractSequentialList<E>
implements List<E>, Deque<E>, Cloneable, java.io.Serializable
Run Code Online (Sandbox Code Playgroud)
然后我读了源代码,Deque<E>看看Deque接口扩展Queue接口.这是否意味着通过实施Deque,LinkedList还在实施Queue及其所有祖先?
另外,如果我有一个实现了接口中所有方法的类,我可以使用接口类型分配该类的对象而不使用"implements"关键字吗?