Java / Interface
What is the difference between an Abstract class and Interface?
- Abstract classes may have some executable methods and methods left unimplemented. Interfaces contain no implementation code.
- An class can implement any number of interfaces, but subclass at most one abstract class.
- An abstract class can have non abstract 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().
More Related questions...