我有一个奇怪的问题我真的无法理解.
我用这种方式创建了一个LinkedList:
List customList = new LinkedList();
如果使用list instanceof LinkedList检查customList的类型我得到true,那么customList是LinkedList.
现在,如果我尝试在customList上执行方法addLast(),我会收到Eclipse错误:
The method addLast(String) is undefined for the type List
方法addList在类LinkedList中定义,但使用此方法的唯一方法是将customList声明为LinkedList而不是List,这样:
LinkedList customList= new LinkedList();
或者我必须使用演员:
((LinkedList) list).addLast(...);
我真的不明白这种行为,有人能给我一些提示吗?你能否给我一些链接或其他参考,以了解这个问题?
提前致谢
|