Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

when to use abstract class and when to use interface?

Answer Posted / rod

"Interfaces are often used to describe the peripheral
abilities of a class, not its central identity, e.g. an
Automobile class might implement the Recyclable interface,
which could apply to many otherwise totally unrelated objects."
a cricketball class may implement the class bowlable which
could apply to many otherwise totally unrelated objects such
as BowlingBall or LawnBowlsBall or TenpinBowlingBall.

"An abstract class defines the core identity of its
descendants. If you defined a Dog abstract class then
Dalmation descendants are Dogs, they are not merely dogable.
Implemented interfaces enumerate the general things a class
can do, not the things a class is."
a Cricketball might extend/inherit the Ball abstract class
as above and in so doing recognise that a ball is an entity
with the common properties of diameter and volume not just
bowlable. here both abstract class and interface can be used
together.

One insightful difference and therefore an indicator of
usage is this. If an abstract class has all its methods
required to be overridden so that there is no common
behavior implemented in it (that its subclasses can use),
then you have effectively... Interface.
"If all the methods of an abstract class are uncompleted
then it is the same as an interface."..said this developer
or put another way , the more you implement methods in the
class for use by its descendants, the more you move away
from an interface and more towards an abstract class. So
interfaces are concerned with behaviors that are common in
concept but different in implementation and refer therefore
to exchanges between components at a system level. Typically
interfaces are used at the periphery of components so that
they can interface to other components that may be
implemented using possibly different languages for example.
Abstract classes however are concerned with behaviors that
are common in concept and in implementation.

Is This Answer Correct ?    30 Yes 4 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

How do you replace a string in java?

1007


How does finally block differ from finalize() method?

1043


Tell me about your ability to work under pressure

2198


What is callable java?

980


What are the advantages of inner classes?

1031


Can we define private and protected modifiers for the members in interfaces?

1105


how we can use debug in myeclipse 6.0 in order solve the problems that exist in our program when there are 900 to 1000 pages in a web application

2155


In how many ways we can do exception handling in java?

998


How many bits is a 64 bit byte?

1086


What are strings in physics?

1016


Can a class be a super class and a sub-class at the same time? Give example.

1565


How we can run a jar file through command prompt in java?

971


What are the skills required for core java?

1017


How to implement an arraylist in java?

1157


what is mutual exclusion? How can you take care of mutual exclusion using java threads? : Java thread

1120