黑马程序员技术交流社区

标题: 一个想不通的问题??? [打印本页]

作者: 李磊_Adam    时间: 2013-7-25 22:40
标题: 一个想不通的问题???
本帖最后由 杜光 于 2013-7-28 09:41 编辑

private Lock lock=new ReentrantLock(); 这句在eclipse上出错,但能用JDK的dos命令能编译和运行。eclipse上只能识别这句:private ReentrantLock lock=new ReentrantLock(); 这是为什么啊???我用的eclipse是4.3版本,JDK是1.7版本。。。

作者: denghui1010    时间: 2013-7-25 22:46
我试了完全没错,也不应该会错
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
这两个包你可能只导了第二个
作者: xwf4348    时间: 2013-7-26 07:32
应该要导入两个包。分别是:
作者: 李磊_Adam    时间: 2013-7-26 09:35
denghui1010 发表于 2013-7-25 22:46
我试了完全没错,也不应该会错
import java.util.concurrent.locks.Lock;
import java.util.concurrent.loc ...

import java.util.concurrent.locks.Lock; 这个导入后是可以了,但我是自动导入的,只能导入第二个啊???还有用dos命令时,也是只导入第二个就可以啊,这又是什么情况???
作者: 王靖远    时间: 2013-7-26 10:21
private Lock lock=new ReentrantLock(); 你这句话左边是接口,右边是实现类。这算是多态的父类引用指向子类对象。当然父类和子类包都要导入了。
ReentrantLock lock=new ReentrantLock(); 这样写就导入一个包就可以了 因为没有加载接口




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2