Professional Documents
Culture Documents
class GrandFather
{
GrandFather()
{
System.out.println("This is GrandFather");
}
}
class Father extends GrandFather
{
Father()
{
System.out.println("This is Father");
}
}
class Child extends Father
{
Child()
{
System.out.println("This is Child");
}
}
class CallConstructor
{
public static void main(String args[])
{
Child roger = new Child();
}
}
//Method Overriding
class Maths
{
int var1, var2, var3;
Maths(int x, int y)
{
var1 = x;
var2 = y;
}
void calculate() //statement1
{
var3 = var1 + var2;
System.out.println("Addition : "+var3);
}
}
class Arithmetic extends Maths
{
Arithmetic(int x,int y)
{
super(x,y);
}
void calculate() //statement2
{
1
var3 = var1 - var2;
System.out.println("Subtraction : "+var3);
}
}
class OverRiding
{
public static void main(String args[])
{
Arithmetic a = new Arithmetic(30,18);
a.calculate(); //statement3
}
}
Program 2.24 Method Overriding
ref = x; //statement1
ref.message();
ref = y; //statement2
ref.message();
ref = z; //statement3
ref.message();
}
}
2
Program 2.25 Dynamic method dispatch
ref = s;
ref.area();
ref = r;
ref.area();
ref = c;
ref.area();
}
}
Program 2.26 Example of dynamic method dispatch