Skip to main content

Method Overriding-1

Method Overriding:-Method overloading is a process of method re-redefining. In method overloading inheritance is a compulsory ,In this process  if child is not satisfy with the parent class implementation then child can redefine parent class method.
In method overriding parent class method must be available to the child class through inheritance.
In method overriding method signature must be same as parent class method.
In method overriding parameter must be same as parent class method.
In method overriding method resolution is done on the basis of object.
Method overriding is an example of run time polymorphism or dynamic binding or late binding. In this process visibility of parent class method can increase by the child class but cannot decrease.


Example1:-


class Teacher
{
void disp()
{
System.out.println("Parent implemented disp method");
}
}
class Student extends Teacher
{
void disp()
{
System.out.println("Child implemented disp method");
}
}
class Test
{
public static void main(String[]args)
{
Student s=new Student();
s.disp();
}
}

Output:-

C:\JAVATECH>javac Test.java
C:\JAVATECH>java Test
Child implemented disp method


Example2:-


class Teacher
{
public void disp()
{
System.out.println("Parent implemented disp method");
}
}
class Student extends Teacher
{
void disp()
{
System.out.println("Child implemented disp method");
}
}
class Test
{
public static void main(String[]args)
{
Student s=new Student();
s.disp();
}
}

Output:-

C:\JAVATECH>javac Test.java
Test.java:10: error: disp() in Student cannot override disp() in Teacher
void disp()
     ^
  attempting to assign weaker access privileges; was public
1 error


Example3:-


class Teacher
{
public void disp()
{
System.out.println("Parent implemented disp method");
}
}
class Student extends Teacher
{
public void disp()
{
System.out.println("Child implemented disp method");
}
}
class Test
{
public static void main(String[]args)
{
Student s=new Student();
s.disp();
}
}

Output:-

C:\JAVATECH>javac Test.java
C:\JAVATECH>java Test
Child implemented disp method


Example4:-


class Teacher
{
void disp()
{
System.out.println("Parent implemented disp method");
}
}
class Student extends Teacher
{
public void disp()
{
System.out.println("Child implemented disp method");
}
}
class Test
{
public static void main(String[]args)
{
Student s=new Student();
s.disp();
}
}


Output:-

C:\JAVATECH>javac Test.java
C:\JAVATECH>java Test
Child implemented disp method


Example5:-


class Teacher
{
void disp()
{
System.out.println("Parent implemented disp method");
}
}
class Student extends Teacher
{
protected void disp()
{
System.out.println("Child implemented disp method");
}
}
class Test
{
public static void main(String[]args)
{
Student s=new Student();
s.disp();
}
}

Output:-

C:\JAVATECH>javac Test.java
C:\JAVATECH>java Test

Child implemented disp method

Comments