This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
You would use an abstract class when you have common methods that any subclass needs to have. You use interfaces when you do not want the class to do anything, but tell all other classes the methods that they must have in order to be instatiated.