What is an abstract class?
Why do we do implements at times and extends at times when writing java servlets?

What is the difference between these 2?
Why do we do
public interface ....
and
public class ...

What does interface and class stand for here?