0% found this document useful (0 votes)
2 views

Inheritance

Inheritance in Java allows one object to acquire properties and behaviors from a parent object, promoting code reusability and method overriding. There are three types of inheritance: single, multilevel, and hierarchical, while multiple inheritance is not supported to avoid ambiguity. The document also explains the syntax, terminology, and provides examples to illustrate the concepts of inheritance.

Uploaded by

xandercageyo
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Inheritance

Inheritance in Java allows one object to acquire properties and behaviors from a parent object, promoting code reusability and method overriding. There are three types of inheritance: single, multilevel, and hierarchical, while multiple inheritance is not supported to avoid ambiguity. The document also explains the syntax, terminology, and provides examples to illustrate the concepts of inheritance.

Uploaded by

xandercageyo
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Inheritance in JAVA

Brajesh Raj
Index
Inheritance
Types of Inheritance
Why multiple inheritance is not possible in
Java in case of class?
Introduction
Inheritance in Java is a mechanism in which one
object acquires all the properties and behaviors of a
parent object. It is an important part of OOPs (Object
Oriented programming system).

The idea behind inheritance in Java is that you can


create new classes that are built upon existing
classes. When you inherit from an existing class, you
can reuse methods and fields of the parent class.
Moreover, you can add new methods and fields in
your current class also.

Inheritance represents the IS-A relationship which is


also known as a parent-child relationship.
Why use inheritance in java
For Method Overriding (so runtime
polymorphism can be achieved).
For Code Reusability.
Terms used in Inheritance
Class: A class is a group of objects which have
common properties. It is a template or blueprint from
which objects are created.
Sub Class/Child Class: Subclass is a class which
inherits the other class. It is also called a derived
class, extended class, or child class.
Super Class/Parent Class: Superclass is the class
from where a subclass inherits the features. It is also
called a base class or a parent class.
Reusability: As the name specifies, reusability is a
mechanism which facilitates you to reuse the fields
and methods of the existing class when you create a
new class. You can use the same fields and methods
already defined in the previous class.
The syntax of Java Inheritance
class Subclass-name extends Superclass-name
{
//methods and fields
}

The extends keyword indicates that you are


making a new class that derives from an existing
class. The meaning of "extends" is to increase the
functionality.

In the terminology of Java, a class which is


inherited is called a parent or superclass, and the
new class is called child or subclass.
Java Inheritance Example

The relationship between the two classes


is Programmer IS-A Employee.
It means that Programmer is a type of Employee.
Example
class Employee{
float salary=40000;
}
class Programmer extends Employee{
int bonus=10000;
public static void main(String args[]){
Programmer p=new Programmer();
System.out.println("Programmer salary is:"+p.salary);
System.out.println("Bonus of Programmer
is:"+p.bonus);
}
}
Programmer.java
Types of inheritance in java
On the basis of class, there can be three
types of inheritance in java: single, multilevel
and hierarchical.
In java programming, multiple and hybrid
inheritance is supported through interface
only. We will learn about interfaces later.
Continued…
Continued…
When one class inherits multiple classes, it is
known as multiple inheritance. For Example:
Single Inheritance Example
class Animal{
void eat(){System.out.println("eating...");}
}
class Dog extends Animal{
void bark(){System.out.println("barking...");}
}
class TestInheritance{
public static void main(String args[]){
Dog d=new Dog();
d.bark();
d.eat();
}}
TestInheritance.java
Multilevel Inheritance Example
class Animal{
void eat(){System.out.println("eating...");}
}
class Dog extends Animal{
void bark(){System.out.println("barking...");}
}
class BabyDog extends Dog{
void weep(){System.out.println("weeping...");}
}
class TestInheritance2{
public static void main(String args[]){
BabyDog d=new BabyDog();
d.weep();
d.bark();
d.eat();
}}
TestInheritance2.java
Hierarchical Inheritance Example
class Animal{
void eat(){System.out.println("eating...");}
}
class Dog extends Animal{
void bark(){System.out.println("barking...");}
}
class Cat extends Animal{
void meow(){System.out.println("meowing...");}
}
class TestInheritance3{
public static void main(String args[]){
Cat c=new Cat();
c.meow();
c.eat();
//c.bark();//C.T.Error
}}

TestInheritance3.java
Why multiple inheritance is not
supported in java?
To reduce the complexity and simplify the
language, multiple inheritance is not supported
in java.
Consider a scenario where A, B, and C are three
classes. The C class inherits A and B classes. If A
and B classes have the same method and you call
it from child class object, there will be ambiguity
to call the method of A or B class.
Since compile-time errors are better than runtime
errors, Java renders compile-time error if you
inherit 2 classes. So whether you have same
method or different, there will be compile time
error.
Example
class A{
void msg(){System.out.println("Hello");}
}
class B{
void msg(){System.out.println("Welcome");}
}
class C extends A,B{//suppose if it were

public static void main(String args[]){


C obj=new C();
obj.msg();//Now which msg() method would be invoked?
}
}
// Compile time error
C.java
THANK YOU

You might also like