java, 继承与依赖ReentrantLock, 在使用方法上的区别?

最近在看guava的cache源码, 发现LocalCache.Segment类是继承ReentrantLock.

但是我看Segment只用到了lock,unlock,isHeldByCurrentThread 三个方法,

这三个方法都是public的,就是说如果用依赖的方式,这几个方法都可以调用到的.

又查了一下ReentrantLock 的子类, 发现子类包括有: java.util.concurrent.ConcurrentHashMap.Segment

那么为什么不使用依赖(ReentrantLock lock= new ReentrantLock()), 而是用继承呢??

或者说在什么情况下能体现出继承的好处?