This week's book giveaway is in the Jobs Discussion forum.
We're giving away four copies of Java Interview Guide and have Anthony DePalma on-line!
See this thread for details.
The moose likes Java in General and the fly likes Composition and Inheritance Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Composition and Inheritance" Watch "Composition and Inheritance" New topic

Composition and Inheritance

Mathews P Srampikal
Ranch Hand

Joined: Nov 26, 2002
Posts: 211
What is the difference between Composition and Inheritance in java.

Ernest Friedman-Hill
author and iconoclast

Joined: Jul 08, 2003
Posts: 24199

In Java, or in any language, inheritance is, well, inheritance -- as expressed by the "extends" keyword; while composition refers to the inclusion of one object inside another as a member.
In this example, Bar gets access to Foo's capabilites via inheritance:

While here it gets them via composition:

The general, oversimplified rule is to use composition when you can, inheritance when you must.

[Jess in Action][AskingGoodQuestions]
I agree. Here's the link:
subject: Composition and Inheritance
It's not a secret anymore!