C @unit-Iv
C @unit-Iv
INHERITANCE
TYPES OF INHERITANCE
POLYMORPHISM
TYPES OF POLYMORPHISM
INTERFACE
ABSTRACT CLASS
INNER CLASS
REFLECTION
Inheritance in Java
Process of deriving new class from the existing class
Base class
Class Bike
The existing class is known as- Gear
break
Base Class / Super class / Parent Class
Class Car
The new class is known as- Gear
Derived class/ Sub Class / Child class Break
fuel
Derived class
The derived classes inherit all the properties of the base
classes and its own properties.
Uses of inheritance
Code Re-usability
Syntax of Inheritance
In inheritance don’t create object for base class because of the objects
created only for sub classes.
Single Inheritance
Multilevel Inheritance
Hierarchical Inheritance
B child
sYNTAX
class A
{
public void print()
{
System.out.println("Base class method");
}
}
class B extends A
{
OUTPUT
public void display()
{ Base class method
System.out.println("Child class method");
Child class method
}
public static void main(String args[])
{
B obj = new B();
obj.print(); //calling super class method
obj.display(); //calling local method
}}
class add
{ public static void main(String args[])
int a,b,c; {
void add(int x,int y) mul m=new mul();
{ m.add(10,20);
a=x; m.mul(10,20);
b=y; }
c=a+b; }
System.out.println(c);
}
}
class mul extends add
{
void mul(int s,int r)
{ OUTPUT
c=s*r;
System.out.println(c); 30
}
200
Multilevel Inheritance
A class derived from other derived class or have multiple
levels of single inheritances.
A Base class
B Subclass/intermediate class
C subclass
sYNTAX
class A
public static void main(String args[])
{
{
public void print()
C obj = new C();
{
obj.print();
System.out.println("Base class method");
obj.display();
}
obj.result();
}
}}
class B extends A
{
public void display()
{ OUTPUT
System.out.println(“Middle class method");
} Base class method
}
class C extends B Middle class method
{
public void result() Subclass method
{
System.out.println("subclass method");
}
class add void print1() add a=new add(10,20);
{ { a.print();
int a,b,c; System.out.println(c); mul m=new
add(int x,int y) } mul(10,20);
{ } m.print1();
a=x; class div extends mul div d=new div(10,20);
b=y; { d.print2();
c=a+b; div(int e,int w) }
} { }
void print() super(e,w);
{ c=e/w;
System.out.println(c); }
} void print2()
} {
class mul extends add System.out.println(c);
{ }
mul(int s,int r)
{
public static void main(String args[])
super(s,r);
c=s*r; {
HIERARCHICAL INHERITANCE
B C D
syntax
class Rect {
{ Triangle(double d, double h)
double d1, d2,area; {
Rect(double x, double y) super(d,h);
{ area=(d*h)/2; OUTPUT
d1 = x; d2 = y; area=d1*d2; } 40.0
} void print2() 6000.0
void print() { 6.0
{ System.out.println(area);
System.out.println(area); }}
} class Result
} {
class Box extends Rect public static void main(String[] args)
{ {
double width; Rect r = new Rect(5,8);
Box(double l, double b,double w) r.print();
{ Box b=new Box(10,20,30);
super(l,b); b.print1();
width=w; Triangle t = new Triangle(4,3);
area=l*b*w; t.print2();
} }}
void print1()
{
System.out.println(area);}}
Polymorphism
Students
Customer
Passenger
Uses
Method Overriding:
It occurs when a derived class has a definition for one of the
method of the base class is known as method overriding.
Class Student1
{
Void marks()
{
}
Class Student2 extends student1
{
Void marks()
{
}
class Bank public static void main(String args[])
{ {
float getROI() Bank b;
{ b=new SBI();
return 0; S .o.p("SBI Rate of Interest: "+b.getROI());
}
} b=new ICICI();
class SBI extends Bank S.o.p("ICICI Rate of Interest: "+b.getROI());
{ }
float getROI() }
{
return 8.4f; OUTPUT
}
} SBI Rate of Interest :8.4
class ICICI extends Bank
{ ICICI Rate of Interest:7.3
float getROI()
{
return 7.3f;
}
Abstract class in Java
Abstraction in Java
Abstraction is a process of hiding the implementation
details and showing only functionality to the user
Abstract class
Interface
Abstract keywords
Abstract class
Syntax
abstract class class_name
{
}
Abstract Method
Syntax:
abstract void print_Status();
Example of Abstract class &abstract method
}
interface Print
{
void print();
}
class Display implements Print
{
public void print()
{
System.out.println(“This is interface classes");
}
public static void main(String args[])
{
Display obj = new Display(); OUTPUT
obj.print();
} This is interface classes
}
INTERFCE USING MULTIPLE INHERITANCE
}
}