Difference between overloading and Overriding. <Giving a
confusing example to test the concept.>
(also asked in PA Consultancy Group,iflex,Value
chain,IBM,CTS,Accenture, Tarang>
Answer Posted / suman
OVERRIDING – when you extend a class and write a method in
the derived class which is exactly similar to the one
present in the base class, it is termed as overriding.
Example:
public class BaseClass{
public void methodToOverride()
{
//Some code here
}
}
public class DerivedClass extends BaseClass{
public void methodToOverride()
{
//Some new code here
}
}
As you can see, in the class DerivedClass, we have
overridden the method present in the BaseClass with a
completely new piece of code in the DerivedClass.
What that effectively means is that if you create an object
of DerivedClass and call the methodToOverride() method, the
code in the derivedClass will be executed. If you hadn’t
overridden the method in the DerivedClass then the method
in the BaseClass would have been called.
OVERLOADING - when you have more than one method with the
same name but different arguments, the methods are said to
be overloaded.
Example:
public class OverLoadingExample{
public void add(int i, int j)
{
int k = i + j;
}
public void add(String s, String t)
{
int k = Integer.parseInt(s) + Integer.parseInt(t);
}
}
As you can see in the example above, we have the same
method add() taking two parameters but with different data
types. Due to overloading we can now call the add method by
either passing it a String or int
Is This Answer Correct ? | 1 Yes | 0 No |
Post New Answer View All Answers
How do you override a method?
What is boolean strategy?
What is codebase?
What is a byte array?
How list contains works in java?
How do you identify independent and dependent variables?
What does @param args mean in java?
List down the methods and interfaces of collection class in java.
What is another word for methodology?
Can you override a final method?
What is java argument list?
Is main a function?
Given a singly linked list, find the middle of the list in a single traversal without using temporary variable.
What does int argc char * argv [] mean?
What is a memory leak in java?