This week's giveaway is in the EJB and other Java EE Technologies forum. We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan 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.