In method overloading ,if i change the return type to Long
instead of INT,is the program execute
Answer Posted / janardhan
It will execute the below program also will execute.because
in overloading atleast the order of the perameters should
be different.in java return type never consider by the
compilier.
// Demonstrate method overloading.
class OverloadDemo {
void test() {
System.out.println("No parameters");
}
// Overload test for one integer parameter.
void test(int a) {
System.out.println("a: " + a);
}
// Overload test for two integer parameters.
void test(int a, int b) {
System.out.println("a and b: " + a + " " + b);
}
// overload test for a double parameter
double test(double a) {
System.out.println("double a: " + a);
return a*a;
}
}
class Overload {
public static void main(String args[]) {
OverloadDemo ob = new OverloadDemo();
double result;
// call all versions of test()
ob.test();
ob.test(10);
ob.test(10, 20);
result = ob.test(123.2);
System.out.println("Result of ob.test(123.2): " + result);
}
}
In Java it is possible to define two or more methods within
the same class that share the same name, as long as their
parameter declarations are different. When this is the
case, the methods are said to be overloaded, and the
process is referred to as method overloading. Method
overloading is one of the ways that Java implements
polymorphism.
If you have never used a language that allows the
overloading of methods, then the concept may seem strange
at first. But as you will see, method overloading is one of
Java's most exciting and useful features. When an
overloaded method is invoked, Java uses the type and/or
number of arguments as its guide to determine which version
of the overloaded method to actually call. Thus,
overloaded methods must differ in the type and/or number of
their parameters. While overloaded methods may have
different return types, the return type alone is
insufficient to distinguish two versions of a method. When
Java encounters a call to an overloaded method, it simply
executes the version of the method whose parameters match
the arguments used in the call. Here is a simple example
that illustrates method overloading:
This program generates the following output:
No parameters
a: 10
a and b: 10 20
double a: 123.2
Result of ob.test(123.2): 15178.24
As you can see, test( ) is overloaded four times. The first
version takes no parameters, the second takes one integer
parameter, the third takes two integer parameters, and the
fourth takes one double parameter. The fact that the fourth
version of test( ) also returns a value is of no
consequence relative to overloading, since return types do
not play a role in overload resolution.
When an overloaded method is called, Java looks for a match
between the arguments used to call the method and the
method's parameters. However, this match need not always be
exact. In some cases Java's automatic type conversions can
play a role in overload resolution
| Is This Answer Correct ? | 6 Yes | 0 No |
Post New Answer View All Answers
What is the simpletimezone class in java programming?
How to perform linear search in java?
What is a function in java?
Explain the difference between hashmap and hashtable in java?
Why does java not support pointers?
What is JVM and is it platform independent?
Why is java architectural neutral?
Can I learn java in 3 months?
What is the difference between double and float variables in java?
what is daemon thread and which method is used to create the daemon thread? : Java thread
Write a factorial program using recursion in java?
What is matcher in java?
Explain the difference between runnable and callable interface in java?
What are java packages?
we have syntax like for(int var : arrayName) this syntax is to find whether a number is in the array or not.but i want to know how to find that number's location.