If you want to provide some/common implementations for certain behaviors you may use abstract classes whereas interfaces (being 100% abstract) you force the implemented class to implement the behavior. You may find lots of information by searching through the forums (
java) here. And find this
Sun tutorial which would be helpful.