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.
Ad

More Related Content

What's hot (20)

Inheritance
InheritanceInheritance
Inheritance
PriyankaAkhil
 
Method overriding
Method overridingMethod overriding
Method overriding
Azaz Maverick
 
Java: Inheritance
Java: InheritanceJava: Inheritance
Java: Inheritance
Tareq Hasan
 
Inheritance ppt
Inheritance pptInheritance ppt
Inheritance ppt
Nivegeetha
 
Inheritance in Java
Inheritance in JavaInheritance in Java
Inheritance in Java
Tamanna Akter
 
Inheritance in java
Inheritance in javaInheritance in java
Inheritance in java
Lovely Professional University
 
Inheritance in JAVA PPT
Inheritance  in JAVA PPTInheritance  in JAVA PPT
Inheritance in JAVA PPT
Pooja Jaiswal
 
Single inheritance
Single inheritanceSingle inheritance
Single inheritance
Äkshäý M S
 
Java abstract class & abstract methods
Java abstract class & abstract methodsJava abstract class & abstract methods
Java abstract class & abstract methods
Shubham Dwivedi
 
Inheritance
InheritanceInheritance
Inheritance
Sapna Sharma
 
Member Function in C++
Member Function in C++ Member Function in C++
Member Function in C++
NikitaKaur10
 
Final keyword in java
Final keyword in javaFinal keyword in java
Final keyword in java
Lovely Professional University
 
Access specifier
Access specifierAccess specifier
Access specifier
zindadili
 
Inheritance in c++
Inheritance in c++Inheritance in c++
Inheritance in c++
Paumil Patel
 
Inheritance in java
Inheritance in javaInheritance in java
Inheritance in java
Tech_MX
 
Variables in java.pptx
Variables in java.pptxVariables in java.pptx
Variables in java.pptx
gomathikalai
 
06 abstract-classes
06 abstract-classes06 abstract-classes
06 abstract-classes
Anup Burange
 
Abstract class in java
Abstract class in javaAbstract class in java
Abstract class in java
Lovely Professional University
 
Multiple inheritance possible in Java
Multiple inheritance possible in JavaMultiple inheritance possible in Java
Multiple inheritance possible in Java
Kurapati Vishwak
 
Data members and member functions
Data members and member functionsData members and member functions
Data members and member functions
Marlom46
 

Viewers also liked (18)

Java Inheritance
Java InheritanceJava Inheritance
Java Inheritance
Rosie Jane Enomar
 
Java inheritance
Java inheritanceJava inheritance
Java inheritance
Arati Gadgil
 
Advanced Object-Oriented/SOLID Principles
Advanced Object-Oriented/SOLID PrinciplesAdvanced Object-Oriented/SOLID Principles
Advanced Object-Oriented/SOLID Principles
Jon Kruger
 
Object Oriented Design SOLID Principles
Object Oriented Design SOLID PrinciplesObject Oriented Design SOLID Principles
Object Oriented Design SOLID Principles
rainynovember12
 
S.O.L.I.D. Principles for Software Architects
S.O.L.I.D. Principles for Software ArchitectsS.O.L.I.D. Principles for Software Architects
S.O.L.I.D. Principles for Software Architects
Ricardo Wilkins
 
SOLID Design Principles
SOLID Design PrinciplesSOLID Design Principles
SOLID Design Principles
Andreas Enbohm
 
Unified Modeling Language (UML), Object-Oriented Programming Concepts & Desig...
Unified Modeling Language (UML), Object-Oriented Programming Concepts & Desig...Unified Modeling Language (UML), Object-Oriented Programming Concepts & Desig...
Unified Modeling Language (UML), Object-Oriented Programming Concepts & Desig...
Isuru Perera
 
Lesson 1 • Elements & Principles of Design and Art
Lesson 1 • Elements & Principles of Design and ArtLesson 1 • Elements & Principles of Design and Art
Lesson 1 • Elements & Principles of Design and Art
Marcio Sargento
 
Iot data aggrigation
Iot data aggrigationIot data aggrigation
Iot data aggrigation
dokechin
 
Constructors and Destructors
Constructors and DestructorsConstructors and Destructors
Constructors and Destructors
Dr Sukhpal Singh Gill
 
Inheritance
InheritanceInheritance
Inheritance
Selvin Josy Bai Somu
 
Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...
Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...
Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...
cprogrammings
 
"SOLID" Object Oriented Design Principles
"SOLID" Object Oriented Design Principles"SOLID" Object Oriented Design Principles
"SOLID" Object Oriented Design Principles
Serhiy Oplakanets
 
Scanner
ScannerScanner
Scanner
at1211
 
Hierarchical Object Oriented Design
Hierarchical Object Oriented DesignHierarchical Object Oriented Design
Hierarchical Object Oriented Design
sahibsahib
 
Constructor & Destructor
Constructor & DestructorConstructor & Destructor
Constructor & Destructor
KV(AFS) Utarlai, Barmer (Rajasthan)
 
Constructor ppt
Constructor pptConstructor ppt
Constructor ppt
Vinod Kumar
 
C++ Inheritance
C++ InheritanceC++ Inheritance
C++ Inheritance
Jussi Pohjolainen
 
Advanced Object-Oriented/SOLID Principles
Advanced Object-Oriented/SOLID PrinciplesAdvanced Object-Oriented/SOLID Principles
Advanced Object-Oriented/SOLID Principles
Jon Kruger
 
Object Oriented Design SOLID Principles
Object Oriented Design SOLID PrinciplesObject Oriented Design SOLID Principles
Object Oriented Design SOLID Principles
rainynovember12
 
S.O.L.I.D. Principles for Software Architects
S.O.L.I.D. Principles for Software ArchitectsS.O.L.I.D. Principles for Software Architects
S.O.L.I.D. Principles for Software Architects
Ricardo Wilkins
 
SOLID Design Principles
SOLID Design PrinciplesSOLID Design Principles
SOLID Design Principles
Andreas Enbohm
 
Unified Modeling Language (UML), Object-Oriented Programming Concepts & Desig...
Unified Modeling Language (UML), Object-Oriented Programming Concepts & Desig...Unified Modeling Language (UML), Object-Oriented Programming Concepts & Desig...
Unified Modeling Language (UML), Object-Oriented Programming Concepts & Desig...
Isuru Perera
 
Lesson 1 • Elements & Principles of Design and Art
Lesson 1 • Elements & Principles of Design and ArtLesson 1 • Elements & Principles of Design and Art
Lesson 1 • Elements & Principles of Design and Art
Marcio Sargento
 
Iot data aggrigation
Iot data aggrigationIot data aggrigation
Iot data aggrigation
dokechin
 
Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...
Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...
Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...
cprogrammings
 
"SOLID" Object Oriented Design Principles
"SOLID" Object Oriented Design Principles"SOLID" Object Oriented Design Principles
"SOLID" Object Oriented Design Principles
Serhiy Oplakanets
 
Scanner
ScannerScanner
Scanner
at1211
 
Hierarchical Object Oriented Design
Hierarchical Object Oriented DesignHierarchical Object Oriented Design
Hierarchical Object Oriented Design
sahibsahib
 
Ad

Similar to Java inheritance (20)

Inheritance Slides
Inheritance SlidesInheritance Slides
Inheritance Slides
Ahsan Raja
 
Java
JavaJava
Java
Haripritha
 
Chap-3 Inheritance.pptx
Chap-3 Inheritance.pptxChap-3 Inheritance.pptx
Chap-3 Inheritance.pptx
chetanpatilcp783
 
Inheritance Interface and Packags in java programming.pptx
Inheritance Interface and Packags in java programming.pptxInheritance Interface and Packags in java programming.pptx
Inheritance Interface and Packags in java programming.pptx
Prashant416351
 
Basics to java programming and concepts of java
Basics to java programming and concepts of javaBasics to java programming and concepts of java
Basics to java programming and concepts of java
1747503gunavardhanre
 
Inheritance1
Inheritance1Inheritance1
Inheritance1
Daman Toor
 
INHERTANCE , NARROW AND WIDENING
INHERTANCE , NARROW AND WIDENING INHERTANCE , NARROW AND WIDENING
INHERTANCE , NARROW AND WIDENING
ManpreetSingh1387
 
Modules 333333333³3444444444444444444.pptx
Modules 333333333³3444444444444444444.pptxModules 333333333³3444444444444444444.pptx
Modules 333333333³3444444444444444444.pptx
radhikacordise
 
Inheritance & interface ppt Inheritance
Inheritance & interface ppt  InheritanceInheritance & interface ppt  Inheritance
Inheritance & interface ppt Inheritance
narikamalliy
 
itft-Inheritance in java
itft-Inheritance in javaitft-Inheritance in java
itft-Inheritance in java
Atul Sehdev
 
SodaPDF-converted-inheritanceinjava-120903114217-phpapp02-converted.pptx
SodaPDF-converted-inheritanceinjava-120903114217-phpapp02-converted.pptxSodaPDF-converted-inheritanceinjava-120903114217-phpapp02-converted.pptx
SodaPDF-converted-inheritanceinjava-120903114217-phpapp02-converted.pptx
RudranilDas11
 
Unit No 3 Inheritance annd Polymorphism.pptx
Unit No 3 Inheritance annd Polymorphism.pptxUnit No 3 Inheritance annd Polymorphism.pptx
Unit No 3 Inheritance annd Polymorphism.pptx
DrYogeshDeshmukh1
 
Inheritance,single,multiple.access rulepptx
Inheritance,single,multiple.access rulepptxInheritance,single,multiple.access rulepptx
Inheritance,single,multiple.access rulepptx
ArunPatrick2
 
Unit3 part2-inheritance
Unit3 part2-inheritanceUnit3 part2-inheritance
Unit3 part2-inheritance
DevaKumari Vijay
 
Lecture 6 inheritance
Lecture   6 inheritanceLecture   6 inheritance
Lecture 6 inheritance
manish kumar
 
Unit3 inheritance
Unit3 inheritanceUnit3 inheritance
Unit3 inheritance
Kalai Selvi
 
Inheritance chepter 7
Inheritance chepter 7Inheritance chepter 7
Inheritance chepter 7
kamal kotecha
 
Object Oriented Programming with Java
Object Oriented Programming with JavaObject Oriented Programming with Java
Object Oriented Programming with Java
backdoor
 
OCA Java SE 8 Exam Chapter 5 Class Design
OCA Java SE 8 Exam Chapter 5 Class DesignOCA Java SE 8 Exam Chapter 5 Class Design
OCA Java SE 8 Exam Chapter 5 Class Design
İbrahim Kürce
 
inheritance.pptx
inheritance.pptxinheritance.pptx
inheritance.pptx
sonukumarjha12
 
Inheritance Slides
Inheritance SlidesInheritance Slides
Inheritance Slides
Ahsan Raja
 
Inheritance Interface and Packags in java programming.pptx
Inheritance Interface and Packags in java programming.pptxInheritance Interface and Packags in java programming.pptx
Inheritance Interface and Packags in java programming.pptx
Prashant416351
 
Basics to java programming and concepts of java
Basics to java programming and concepts of javaBasics to java programming and concepts of java
Basics to java programming and concepts of java
1747503gunavardhanre
 
INHERTANCE , NARROW AND WIDENING
INHERTANCE , NARROW AND WIDENING INHERTANCE , NARROW AND WIDENING
INHERTANCE , NARROW AND WIDENING
ManpreetSingh1387
 
Modules 333333333³3444444444444444444.pptx
Modules 333333333³3444444444444444444.pptxModules 333333333³3444444444444444444.pptx
Modules 333333333³3444444444444444444.pptx
radhikacordise
 
Inheritance & interface ppt Inheritance
Inheritance & interface ppt  InheritanceInheritance & interface ppt  Inheritance
Inheritance & interface ppt Inheritance
narikamalliy
 
itft-Inheritance in java
itft-Inheritance in javaitft-Inheritance in java
itft-Inheritance in java
Atul Sehdev
 
SodaPDF-converted-inheritanceinjava-120903114217-phpapp02-converted.pptx
SodaPDF-converted-inheritanceinjava-120903114217-phpapp02-converted.pptxSodaPDF-converted-inheritanceinjava-120903114217-phpapp02-converted.pptx
SodaPDF-converted-inheritanceinjava-120903114217-phpapp02-converted.pptx
RudranilDas11
 
Unit No 3 Inheritance annd Polymorphism.pptx
Unit No 3 Inheritance annd Polymorphism.pptxUnit No 3 Inheritance annd Polymorphism.pptx
Unit No 3 Inheritance annd Polymorphism.pptx
DrYogeshDeshmukh1
 
Inheritance,single,multiple.access rulepptx
Inheritance,single,multiple.access rulepptxInheritance,single,multiple.access rulepptx
Inheritance,single,multiple.access rulepptx
ArunPatrick2
 
Lecture 6 inheritance
Lecture   6 inheritanceLecture   6 inheritance
Lecture 6 inheritance
manish kumar
 
Unit3 inheritance
Unit3 inheritanceUnit3 inheritance
Unit3 inheritance
Kalai Selvi
 
Inheritance chepter 7
Inheritance chepter 7Inheritance chepter 7
Inheritance chepter 7
kamal kotecha
 
Object Oriented Programming with Java
Object Oriented Programming with JavaObject Oriented Programming with Java
Object Oriented Programming with Java
backdoor
 
OCA Java SE 8 Exam Chapter 5 Class Design
OCA Java SE 8 Exam Chapter 5 Class DesignOCA Java SE 8 Exam Chapter 5 Class Design
OCA Java SE 8 Exam Chapter 5 Class Design
İbrahim Kürce
 
Ad

More from BHUVIJAYAVELU (9)

Eprojectprojectfinalreportgsmmonitoringcontrollingofdevicesusinggsm 090811012...
Eprojectprojectfinalreportgsmmonitoringcontrollingofdevicesusinggsm 090811012...Eprojectprojectfinalreportgsmmonitoringcontrollingofdevicesusinggsm 090811012...
Eprojectprojectfinalreportgsmmonitoringcontrollingofdevicesusinggsm 090811012...
BHUVIJAYAVELU
 
Lecture no1
Lecture no1Lecture no1
Lecture no1
BHUVIJAYAVELU
 
Java arrays
Java arraysJava arrays
Java arrays
BHUVIJAYAVELU
 
Hybrid m-a-t
Hybrid m-a-tHybrid m-a-t
Hybrid m-a-t
BHUVIJAYAVELU
 
Java interface
Java interfaceJava interface
Java interface
BHUVIJAYAVELU
 
Java packages
Java packagesJava packages
Java packages
BHUVIJAYAVELU
 
Java exception handling
Java exception handlingJava exception handling
Java exception handling
BHUVIJAYAVELU
 
Flow control and error control
Flow control and error controlFlow control and error control
Flow control and error control
BHUVIJAYAVELU
 
3 2--power-aware-cloud
3 2--power-aware-cloud3 2--power-aware-cloud
3 2--power-aware-cloud
BHUVIJAYAVELU
 
Eprojectprojectfinalreportgsmmonitoringcontrollingofdevicesusinggsm 090811012...
Eprojectprojectfinalreportgsmmonitoringcontrollingofdevicesusinggsm 090811012...Eprojectprojectfinalreportgsmmonitoringcontrollingofdevicesusinggsm 090811012...
Eprojectprojectfinalreportgsmmonitoringcontrollingofdevicesusinggsm 090811012...
BHUVIJAYAVELU
 
Java exception handling
Java exception handlingJava exception handling
Java exception handling
BHUVIJAYAVELU
 
Flow control and error control
Flow control and error controlFlow control and error control
Flow control and error control
BHUVIJAYAVELU
 
3 2--power-aware-cloud
3 2--power-aware-cloud3 2--power-aware-cloud
3 2--power-aware-cloud
BHUVIJAYAVELU
 

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.