Basics of Inheritance in Java

By: Baski  

To inherit a class, you simply incorporate the definition of one class into another by using the extends keyword. To see how, let's begin with a short example. The following program creates a superclass called A and a subclass called B. Notice how the keyword extends is used to create a subclass of A.

// A simple example of inheritance.
// Create a superclass.
class A {
int i, j;
void showij() {
System.out.println("i and j: " + i + " " + j);
// Create a subclass by extending class A.
class B extends A {
int k;
void showk() {
System.out.println("k: " + k);
void sum() {
System.out.println("i+j+k: " + (i+j+k));

class SimpleInheritance {
public static void main(String args[]) {
A superOb = new A();
B subOb = new B();
// The superclass may be used by itself.
superOb.i = 10;
superOb.j = 20;
System.out.println("Contents of superOb: ");
/* The subclass has access to all public members of
its superclass. */
subOb.i = 7;
subOb.j = 8;
subOb.k = 9;
System.out.println("Contents of subOb: ");
System.out.println("Sum of i, j and k in subOb:");

The output from this program is shown here:

Contents of superOb:
i and j: 10 20
Contents of subOb:
i and j: 7 8
k: 9
Sum of i, j and k in subOb:
i+j+k: 24

As you can see, the subclass B includes all of the members of its superclass, A. This is why subOb can access i and j and call showij( ). Also, inside sum( ), i and j can be referred to directly, as if they were part of B. Even though A is a superclass for B, it is also a completely independent, stand-alone
class. Being a superclass for a subclass does not mean that the superclass cannot be used by itself. Further, a subclass can be a superclass for another subclass. The general form of a class declaration that inherits a superclass is shown here:

class subclass-name extends superclass-name {
// body of class

You can only specify one superclass for any subclass that you create. Java does not support the inheritance of multiple superclasses into a single subclass. (This differs from C++, in which you can inherit multiple base classes.) You can, as stated, create a hierarchy of inheritance in which a subclass becomes a superclass of another subclass. However, no class can be a superclass of itself.

Archived Comments

1. Right Vinod.That is the first thing that came to my mind as well,since I was doing the same program
View Tutorial          By: Mimi at 2013-04-18 04:24:10

2. very nice post i liked it and i will search more on this site..
View Tutorial          By: Dheeraj at 2013-01-22 16:11:34

3. good
View Tutorial          By: thamim at 2012-09-01 03:22:26

4. this tutorial example of inheritence is taken from the java complete reference book.
View Tutorial          By: vinod kumar gaur at 2011-07-17 23:18:00

Most Viewed Articles (in Java )

Latest Articles (in Java)

Comment on this tutorial