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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孙晓磊 中级黑马   /  2015-7-26 22:49  /  512 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

private Lock lock=new ReentrantLock();
private Condition con=lock.newCondition();
(1)Lock是个接口,ReentrantLock是其一个实现类,是什么意思,ReentrantLock implements Lock?
为啥不写成pricate ReentrantLock ree=new ReenTrantLock();?
(2)第二句是什么意思,返回了第一句创建的newReentrantLock()实例吗?


4 个回复

倒序浏览
private Lock lock=new ReentrantLock();
为了安全或者方便,只调用父类Lock的方法
private Condition con=lock.newCondition();
是创建Condition对象,可以用他来await()和signal()指定线程
回复 使用道具 举报
父类引用指向子类对象,跟直接new差不多
回复 使用道具 举报
真实姓名被注册 发表于 2015-7-26 23:26
private Lock lock=new ReentrantLock();
为了安全或者方便,只调用父类Lock的方法
private Condition con= ...

刚也问了同学了 似乎接口 x=new实现类();是为了强制实现和抽象行为,向上转型是为了创建的实例只全部覆写类里的抽象方法,而没有多的方法,不过第二个lock.这个的意义在于?
回复 使用道具 举报
rxtm 发表于 2015-7-26 23:32
父类引用指向子类对象,跟直接new差不多

之前卡在  父类引用指向子类对象(向上转型)的意义在于。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马