Wednesday, December 6, 2006

What is the diffrence between an Abstract class and Interface?

  • Abstract classes may have some executable methods and methods left unimplemented. Interfaces contain no implementation code.
  • A class can implement any number of interfaces, but subclass at most one abstract class.
  • An abstract class can have nonabstract methods. All methods of an interface are abstract.
  • An abstract class can have instance variables. An interface cannot.
  • An abstract class can define constructor. An interface cannot.
  • An abstract class can have any visibility: public, protected, private or none (package). An interface's visibility must be public or none (package).
  • An abstract class inherits from Object and includes methods such as clone() and equals().

No comments: