Thread: java question
View Single Post
Old 01-09-2008, 02:58 PM   #2 (permalink)
SpOrTsDuDe.Reese
Senior Moderator
 
SpOrTsDuDe.Reese's Avatar
Default

Well they are almost the same. An abstract class may contain complete or incomplete methods. Interfaces can contain only the signature of a method but no body. Thus an abstract class can implement methods but an interface can not implement methods. An abstract class can contain fields, constructors, or destructors and implement properties. An interface can not contain fields, constructors, or destructors and it has only the property's signature but no implementation. An abstract class cannot support multiple inheritance, but an interface can support multiple inheritance. Thus a class may inherit several interfaces but only one abstract class. A class implementing an interface has to implement all the methods of the interface, but the same is not required in the case of an abstract Class. Various access modifiers such as abstract, protected, internal, public, virtual, etc. are useful in abstract Classes but not in interfaces. And most importantly Abstract classes are faster than interfaces.
SpOrTsDuDe.Reese is offline   Reply With Quote