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
Post a Comment