Possible Duplicate:
What is the difference between an interface and abstract class?
What is the difference between an interface and an abstract class in Java? Why would I want to use one over the other?
Possible Duplicate:
What is the difference between an interface and abstract class?
What is the difference between an interface and an abstract class in Java? Why would I want to use one over the other?
An abstract class can contain implementations, but it is a class and you can only extend one class.
An interface just contains declarations no implementations and you can implement as many interfaces as you want.
If you don't need to implement any methods go with interfaces.
If you have to implement a method go with an abstract class, but consider having it implement an interface. This will allow you to use alternative implementations in cases where you can't use the abstract class for example due to the impossibility of multiple inheritance.
Well its a very broad question, there are a lot of difference between them, it is impossible to discuss all of them here, you can google it to get good answers, but
Broadly speaking abstract class is a partially implemented partially unimplemented structure but interface is a fully unimplemented structure
Here is my explanation with some real life example which has been written 2 years ago -
http://karthikjcecs.wordpress.com/2009/01/14/java-interfaces-versus-abstract-class/
Hope it helps you understand better.