What is Inheritance in java

Inheritance means The process of obtaining the data members and methods from one class to another class is known as inheritance. It is one of the fundamental features of object-oriented programming.
Important points

In the inheritance the class which is give data members and methods is known as base or super or parent class.
The class which is taking the data members and methods is known as sub or derived or child class.
The data members and methods of a class are known as features.
The concept of inheritance is also known as re-usability or extendable classes or sub classing or derivation.

Why use Inheritance ?
For Method Overriding (used for Runtime Polymorphism).
It's main uses are to enable polymorphism and to be able to reuse code for different classes by putting it in a common super class

For code Re-usability
A super-class can have any number of subclasses. But a subclass can have only one super class. Java does not support multiple inheritance.

The super class and subclass have “is-a” relationship between them. Let’s have a look at the 
Advantage of inheritance
If we develop any application using concept of Inheritance than that application have following advantages,
Application development time is less.
Application take less memory.
Application execution time is less.
Application performance is enhance (improved).
Redundancy (repetition) of the code is reduced or minimized so that we get consistence results and less storage cost.
Note: In Inheritance the scope of access modifier increasing is allow but decreasing is not allow. Suppose in parent class method access modifier is default then it's present in child class with default or public or protected access modifier but not private(it decreased scope).
Tpyes of Inheritance
Based on number of ways inheriting the feature of base class into derived class we have five types of inheritance; they are:
Single inheritance
Multilevel inheritance
Multiple inheritance
Hierarchical inheritance
Hybrid inheritance
Single inheritance
In single inheritance there exists single base class and single derived class.
Example:
public class A {

            public void methodA()
            {
                        System.out.println("Iam from class A");
            }
}
public class B extends A{
           
            public void methodB()
            {
                        System.out.println("Iam from class B");
                       
            }
public static void main(String args[])
            {
                        B obj=new B ();
                        obj.methodA();
                        obj.methodB();
}
}
output:

Iam from class A
Iam from class B
Multilevel inheritance:
In Multilevel inheritances there exists single base class, single derived class and multiple intermediate base classes.
Single base class + single derived class + multiple intermediate base classes.
Intermediate base classes
An intermediate base class is one in one context with access derived class and in another context same class access base class.
Multiple inheritance                    
In multiple inheritance there exist multiple classes and singel derived class.
Example:
public class A {

            public void methodA()
            {
                        System.out.println("Iam from class A");
            }
}
public class B extends A{
           
            public void methodB()
            {
                        System.out.println("Iam from class B");
                       
            }

}

public class C extends B{      
            public void methodC()
            {
                        System.out.println("Iam from class C");
            }
            public static void main(String args[])
            {
                        C obj=new C();
                        obj.methodA();
                        obj.methodB();
                        obj.methodC();
            }
}
output:

Iam from class A
Iam from class B
Iam from class C



Multiple inheritance

In multiple inheritance there exist multiple base classes and singel derived class.
The concept of multiple inheritance is not supported in java through concept of classes but it can be supported through the concept of interface.
Hybrid inheritance
Combination of any inheritance type
In the combination if one of the combination is multiple inheritance then the inherited combination is not supported by java through the classes concept but it can be supported through the concept of interface.
Important Points for Inheritance:
In java programming one derived class can extends only one base class because java programming does not support multiple inheritance through the concept of classes, but it can be supported through the concept of Interface.
Whenever we develop any inheritance application first create an object of bottom most derived class but not for top most base class.
When we create an object of bottom most derived class, first we get the memory space for the data members of top most base class, and then we get the memory space for data member of other bottom most derived class.
Bottom most derived class contains logical appearance for the data members of all top most base classes.
If we do not want to give the features of base class to the derived class then the definition of the base class must be preceded by final hence final base classes are not reusable or not inheritable.
If we are do not want to give some of the features of base class to derived class than such features of base class must be as private hence private features of base class are not inheritable or accessible in derived class.
Data members and methods of a base class can be inherited into the derived class but constructors of base class can not be inherited because every constructor of a class is made for initializing its own data members but not made for initializing the data members of other classes.
An object of base class can contain details about features of same class but an object of base class never contains the details about special features of its derived class (this concept is known as scope of base class object).
For each and every class in java there exists an implicit predefined super class called java.lang.Object. because it providers garbage collection facilities to its sub classes for collecting un-used memory space and improved the performance of java application.

Share:

No comments:

Post a Comment

Ordered List

Popular Posts

The Magazine

Facebook

Post Top Ad

LightBlog

Post Top Ad

Your Ad Spot

About Me

authorHello, my name is Jack Sparrow. I'm a 50 year old self-employed Pirate from the Caribbean.
Learn More →

Comment

Post Top Ad

Your Ad Spot

Hot

AD BANNER

Sponsor

AD BANNER

Recent Comments

Extra Ads

AD BANNER

Contact Form

Name

Email *

Message *

Translate

Sponsor

test

Home Top Ad

Responsive Ads Here

Flickr

Ad Banner
Responsive Ads Here

About Us

authorHello, my name is Jack Sparrow. I'm a 50 year old self-employed Pirate from the Caribbean.
Learn More →

Recent Posts

Unordered List

  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
  • Aliquam tincidunt mauris eu risus.
  • Vestibulum auctor dapibus neque.

Sample Text

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation test link ullamco laboris nisi ut aliquip ex ea commodo consequat.

Pages

Theme Support

Need our help to upload or customize this blogger template? Contact me with details about the theme customization you need.