This week's book giveaway is in the OCAJP forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide 1Z0-808 and have Jeanne Boyarsky & Scott Selikoff on-line! See this thread for details.
"Abstract classes let you define some default behaviour and force subclasses to provide any specific behaviour"
Abstract class can have concrete methods which can provide a default behaviour.
A class marked as abstract can have methods which have the method body (i.e method defintion) .
So if any class extends this abstract class it may or may not override the default behaviour provided by the concrete method in an abstract class.
But an interface is 100% abstract which implies that there are no concrete methods so the class implementing the interface must provide
the behaviour for all the methods spcified in the interface.