SlideShare a Scribd company logo
Java Inheritance
There are two ways to reuse the existing classes
Composition
define a new class, which is composed of existing classes.
Composition exhibits a "has-a" relationship.
Inheritance
derive a new class based on an existing class
with modifications / extensions.
Inheritance exhibits a “is-a" relationship.
2
Inheritance: Definition
 inheritance: a parent-child relationship between classes
 Reuse of existing code or Method Overriding (Runtime Polymorphism).
 allows sharing of the behavior of the parent class into its child classes
 child class can add new behavior / override existing behavior from parent
 The more general class is called:
 superclass, base class, parent class
 The more specific class is called:
 subclass, derived class, child class
3
 Two kinds:
 implementation: the code that defines methods.
 Derived class inherits the implementations of all methods
from base class.
 interface: the method prototypes only.
 Accessing superclass methods from derived class.
 Can use super() to access all (non-private) superclass methods.
 Can use super() to call base class constructor.
Syntax of Inheritance:
class Subclass-name extends Superclass-name
{
//methods and fields
}
keyword extends:
Indicates that you are making a new class that derives from an existing class.
Types of Inheritance:
On the basis of class, there can be three types of inheritance:
Single Inheritance
Multilevel Inheritance
Hierarchical Inheritance
Multiple & Hybrid - supported through interface only
Java inheritance
Java inheritance
Why multiple inheritance is not supported in java?
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?
}
}
super keyword
The super is a reference variable that is used to refer immediate
parent class object.
Usage of super Keyword
super is used to refer immediate parent class instance variable.
super() is used to invoke immediate parent class constructor.
super is used to invoke immediate parent class method.
Example:
class Vehicle
{
int speed=50;
}
class Bike extends Vehicle
{
int speed=100;
void display()
{
System.out.println(speed);
//will print speed of Bike
}
public static void main(String args[])
{
Bike b=new Bike();
b.display();
}
}
class Vehicle
{
int speed=50;
}
class Bike extends Vehicle
{
int speed=100;
void display()
{
System.out.println(super.speed);
//will print speed of Vehicle now
}
public static void main(String args[])
{
Bike b=new Bike();
b.display();
}
}
super is used to invoke parent class constructor.
class Vehicle
{
Vehicle()
{
System.out.println("Vehicle is created");
}}
class Bike extends Vehicle
{
Bike()
{
super();//will invoke parent class constructor
System.out.println("Bike is created");
}
public static void main(String args[])
{
Bike b=new Bike();
}}
super can be used to invoke parent class method.
class Person
{
void message(){System.out.println("welcome");}
}
class Student extends Person
{
void message() { System.out.println("welcome to java");
}
void display()
{
message();//will invoke current class message() method
super.message();//will invoke parent class message() method
}
public static void main(String args[])
{
Student s=new Student();
s.display();}}
Method Overriding in Java
Having the same method in the subclass as declared in the parent
class is known as method overriding.
In other words, If subclass provides the specific implementation of
the method i.e. already provided by its parent class, it is known as
Method Overriding.
Method Overriding is used for Runtime Polymorphism
Rules for Method Overriding:
method must have same name as in the parent class
method must have same parameter as in the parent class.
must be inheritance (IS-A) relationship.
class Vehicle
{
void run()
{
System.out.println("Vehicle");
}
}
class Bike extends Vehicle
{
public static void main(String args[])
{
Bike obj = new Bike();
obj.run();
}
}
class Vehicle
{
void run()
{
System.out.println("Vehicle is running");
}
}
class Bike extends Vehicle
{
void run()
{
System.out.println("Bike is running");
}
public static void main(String args[])
{
Bike obj = new Bike();
obj.run();
}
Method Overloading Method Overriding
1) Method overloading is used to
increase the readability of the program.
Method overriding is used to provide
the specific implementation of the
method that is already provided by its
super class.
2) method overloading is performed
within a class.
Method overriding occurs in two
classes that have IS-A relationship.
3) In case of method overloading
parameter must be different.
In case of method overriding parameter
must be same.

More Related Content

PPTX
Inheritance in java
PPT
Java inheritance
PPT
Java static keyword
PPTX
Constructor and Types of Constructors
PPTX
Arrays in Java
PPTX
Type casting in java
PPT
Object Oriented Programming with Java
PDF
Collections In Java
Inheritance in java
Java inheritance
Java static keyword
Constructor and Types of Constructors
Arrays in Java
Type casting in java
Object Oriented Programming with Java
Collections In Java

What's hot (20)

PPT
Java interfaces
PPTX
Constructor in java
PPTX
20.3 Java encapsulation
PDF
Lambda Expressions in Java | Java Lambda Tutorial | Java Certification Traini...
ODP
Basic of Java
PPT
Exception Handling in JAVA
PPSX
Collections - Maps
PPTX
This pointer
PPTX
Access modifiers in java
PPTX
Polymorphism in java
PPTX
Access modifiers in java
PPTX
2. Classes | Object Oriented Programming in JavaScript | ES6 | JavaScript
PPTX
Java constructors
PPT
Java Programming for Designers
ODP
OOP java
PPTX
Member Function in C++
PPTX
Inheritance ppt
PPTX
Inheritance in oops
PPTX
java interface and packages
Java interfaces
Constructor in java
20.3 Java encapsulation
Lambda Expressions in Java | Java Lambda Tutorial | Java Certification Traini...
Basic of Java
Exception Handling in JAVA
Collections - Maps
This pointer
Access modifiers in java
Polymorphism in java
Access modifiers in java
2. Classes | Object Oriented Programming in JavaScript | ES6 | JavaScript
Java constructors
Java Programming for Designers
OOP java
Member Function in C++
Inheritance ppt
Inheritance in oops
java interface and packages
Ad

Viewers also liked (20)

PDF
Java Inheritance
PPTX
Inheritance
PPTX
Advanced Object-Oriented/SOLID Principles
PPTX
Object Oriented Design SOLID Principles
PPTX
S.O.L.I.D. Principles for Software Architects
PPT
SOLID Design Principles
PDF
Unified Modeling Language (UML), Object-Oriented Programming Concepts & Desig...
PDF
Lesson 1 • Elements & Principles of Design and Art
PDF
Iot data aggrigation
PPTX
Inheritance in java
PPT
Java: Inheritance
PDF
Constructors and Destructors
PPSX
PPT
Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...
PPTX
Inheritance in JAVA PPT
KEY
"SOLID" Object Oriented Design Principles
PPTX
Scanner
PPT
Hierarchical Object Oriented Design
PPT
Constructor & Destructor
PPTX
Constructor ppt
Java Inheritance
Inheritance
Advanced Object-Oriented/SOLID Principles
Object Oriented Design SOLID Principles
S.O.L.I.D. Principles for Software Architects
SOLID Design Principles
Unified Modeling Language (UML), Object-Oriented Programming Concepts & Desig...
Lesson 1 • Elements & Principles of Design and Art
Iot data aggrigation
Inheritance in java
Java: Inheritance
Constructors and Destructors
Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...
Inheritance in JAVA PPT
"SOLID" Object Oriented Design Principles
Scanner
Hierarchical Object Oriented Design
Constructor & Destructor
Constructor ppt
Ad

Similar to Java inheritance (20)

PPTX
Inheritance Slides
PPTX
PPTX
Chap-3 Inheritance.pptx
PPTX
Inheritance Interface and Packags in java programming.pptx
PPTX
Basics to java programming and concepts of java
PPTX
Inheritance1
PPTX
INHERTANCE , NARROW AND WIDENING
PPTX
Modules 333333333³3444444444444444444.pptx
PPTX
Oop concepts classes Method Overriding.pptx
PPTX
Inheritance & interface ppt Inheritance
PDF
itft-Inheritance in java
PPTX
OBJECT ORIENTED PROGRAMMING STRUCU2.pptx
PPTX
SodaPDF-converted-inheritanceinjava-120903114217-phpapp02-converted.pptx
PPTX
Unit No 3 Inheritance annd Polymorphism.pptx
PPTX
Inheritance,single,multiple.access rulepptx
PPTX
Unit3 part2-inheritance
PPTX
Lecture 6 inheritance
PPTX
Unit3 inheritance
PPS
Inheritance chepter 7
PPTX
OCA Java SE 8 Exam Chapter 5 Class Design
Inheritance Slides
Chap-3 Inheritance.pptx
Inheritance Interface and Packags in java programming.pptx
Basics to java programming and concepts of java
Inheritance1
INHERTANCE , NARROW AND WIDENING
Modules 333333333³3444444444444444444.pptx
Oop concepts classes Method Overriding.pptx
Inheritance & interface ppt Inheritance
itft-Inheritance in java
OBJECT ORIENTED PROGRAMMING STRUCU2.pptx
SodaPDF-converted-inheritanceinjava-120903114217-phpapp02-converted.pptx
Unit No 3 Inheritance annd Polymorphism.pptx
Inheritance,single,multiple.access rulepptx
Unit3 part2-inheritance
Lecture 6 inheritance
Unit3 inheritance
Inheritance chepter 7
OCA Java SE 8 Exam Chapter 5 Class Design

More from BHUVIJAYAVELU (9)

PPT
Eprojectprojectfinalreportgsmmonitoringcontrollingofdevicesusinggsm 090811012...
PPT
Lecture no1
PPTX
Java arrays
PPTX
Hybrid m-a-t
PPTX
Java interface
PPTX
Java packages
PPTX
Java exception handling
PPT
Flow control and error control
PPT
3 2--power-aware-cloud
Eprojectprojectfinalreportgsmmonitoringcontrollingofdevicesusinggsm 090811012...
Lecture no1
Java arrays
Hybrid m-a-t
Java interface
Java packages
Java exception handling
Flow control and error control
3 2--power-aware-cloud

Java inheritance

  • 1. Java Inheritance There are two ways to reuse the existing classes Composition define a new class, which is composed of existing classes. Composition exhibits a "has-a" relationship. Inheritance derive a new class based on an existing class with modifications / extensions. Inheritance exhibits a “is-a" relationship.
  • 2. 2 Inheritance: Definition  inheritance: a parent-child relationship between classes  Reuse of existing code or Method Overriding (Runtime Polymorphism).  allows sharing of the behavior of the parent class into its child classes  child class can add new behavior / override existing behavior from parent  The more general class is called:  superclass, base class, parent class  The more specific class is called:  subclass, derived class, child class
  • 3. 3  Two kinds:  implementation: the code that defines methods.  Derived class inherits the implementations of all methods from base class.  interface: the method prototypes only.  Accessing superclass methods from derived class.  Can use super() to access all (non-private) superclass methods.  Can use super() to call base class constructor.
  • 4. Syntax of Inheritance: class Subclass-name extends Superclass-name { //methods and fields } keyword extends: Indicates that you are making a new class that derives from an existing class.
  • 5. Types of Inheritance: On the basis of class, there can be three types of inheritance: Single Inheritance Multilevel Inheritance Hierarchical Inheritance Multiple & Hybrid - supported through interface only
  • 8. Why multiple inheritance is not supported in java? 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? } }
  • 9. super keyword The super is a reference variable that is used to refer immediate parent class object. Usage of super Keyword super is used to refer immediate parent class instance variable. super() is used to invoke immediate parent class constructor. super is used to invoke immediate parent class method.
  • 10. Example: class Vehicle { int speed=50; } class Bike extends Vehicle { int speed=100; void display() { System.out.println(speed); //will print speed of Bike } public static void main(String args[]) { Bike b=new Bike(); b.display(); } } class Vehicle { int speed=50; } class Bike extends Vehicle { int speed=100; void display() { System.out.println(super.speed); //will print speed of Vehicle now } public static void main(String args[]) { Bike b=new Bike(); b.display(); } }
  • 11. super is used to invoke parent class constructor. class Vehicle { Vehicle() { System.out.println("Vehicle is created"); }} class Bike extends Vehicle { Bike() { super();//will invoke parent class constructor System.out.println("Bike is created"); } public static void main(String args[]) { Bike b=new Bike(); }}
  • 12. super can be used to invoke parent class method. class Person { void message(){System.out.println("welcome");} } class Student extends Person { void message() { System.out.println("welcome to java"); } void display() { message();//will invoke current class message() method super.message();//will invoke parent class message() method } public static void main(String args[]) { Student s=new Student(); s.display();}}
  • 13. Method Overriding in Java Having the same method in the subclass as declared in the parent class is known as method overriding. In other words, If subclass provides the specific implementation of the method i.e. already provided by its parent class, it is known as Method Overriding. Method Overriding is used for Runtime Polymorphism Rules for Method Overriding: method must have same name as in the parent class method must have same parameter as in the parent class. must be inheritance (IS-A) relationship.
  • 14. class Vehicle { void run() { System.out.println("Vehicle"); } } class Bike extends Vehicle { public static void main(String args[]) { Bike obj = new Bike(); obj.run(); } } class Vehicle { void run() { System.out.println("Vehicle is running"); } } class Bike extends Vehicle { void run() { System.out.println("Bike is running"); } public static void main(String args[]) { Bike obj = new Bike(); obj.run(); }
  • 15. Method Overloading Method Overriding 1) Method overloading is used to increase the readability of the program. Method overriding is used to provide the specific implementation of the method that is already provided by its super class. 2) method overloading is performed within a class. Method overriding occurs in two classes that have IS-A relationship. 3) In case of method overloading parameter must be different. In case of method overriding parameter must be same.