Whats the difference between an abstract class and interface? When would you want to use them?
<blockquote>
  <p><strong>Possible Duplicate:</strong><br>
  <a href="http://stackoverflow.com/questions/479142/when-to-use-an-interface-instead-of-an-abstract-class-and-vice-versa">When to use an interface instead of an abstract class and vice versa?</a><br>
  <a href="http://stackoverflow.com/questions/4756065/difference-between-interface-abstract-class-sealed-class-static-class-and-par">Difference between Interface, abstract class, sealed class, static class and partial class in C#?</a>  </p>
</blockquote>



<pre><code>public class Guru{
    public Enemy(int x, int y, int health, int attack, ...) {
        ...
    }
    ...
}
public class UserDefinedClass extends Enemy {
    ...
}
</code></pre>
