Interfaces are very similar to abstract classes, so I'll try to describe on an interface example.
Consider List.
Now consider ArrayList and LinkedList, they're implementations.
It turns out, that...