A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李磊_Adam 中级黑马   /  2013-7-25 22:40  /  1339 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杜光 于 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版本。。。

评分

参与人数 1技术分 +1 收起 理由
杜光 + 1 每天提问并回答问题,是对知识的复习和积累.

查看全部评分

4 个回复

正序浏览
private Lock lock=new ReentrantLock(); 你这句话左边是接口,右边是实现类。这算是多态的父类引用指向子类对象。当然父类和子类包都要导入了。
ReentrantLock lock=new ReentrantLock(); 这样写就导入一个包就可以了 因为没有加载接口
回复 使用道具 举报
denghui1010 发表于 2013-7-25 22:46
我试了完全没错,也不应该会错
import java.util.concurrent.locks.Lock;
import java.util.concurrent.loc ...

import java.util.concurrent.locks.Lock; 这个导入后是可以了,但我是自动导入的,只能导入第二个啊???还有用dos命令时,也是只导入第二个就可以啊,这又是什么情况???
回复 使用道具 举报
应该要导入两个包。分别是:
回复 使用道具 举报
我试了完全没错,也不应该会错
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
这两个包你可能只导了第二个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马