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 port number in java?
What is methods in java?
Which container method is used to cause a container to be laid out and redisplayed in java programming?
What are loops in java? What are three types of loops?
What are methods of a class?
Which collection is best for sorting in java?
What is :: operator in java?
What are measurable parameters?
Write a function to find out longest palindrome in a given string?
What is prime number in java?
How do you square a number in java?
What is super constructor?
What are extraneous variables examples?
What is private static in java?
When is the arraystoreexception thrown?