An abstract class contains a mixture of defined behaviour and loosely specified behaviour. Alternatively, an interface is a specification of a subset of a class' behaviour. It is entirely abstract, and contains no code or state of itself.
interface Shape {
public void moveTo(int xpos, int ypos);
public void draw(java.awt.Graphics g);
}