In method overloading ,if i change the return type to Long
instead of INT,is the program execute
Answers were Sorted based on User's Feedback
Answer / 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 |
Answer / gt
in java 1.5 on words posible co-varient data types
we can use this
Is This Answer Correct ? | 4 Yes | 2 No |
class OverloadDemo {
int test(int x) {
return x*x;
}
int test(long a) {
long l = a*a*a;
return l;
}
double test(double a) {
return a*a;
}
}
public class Over extends OverloadDemo{
public static void main(String[] args) {
OverloadDemo od = new OverloadDemo();
int a = od.test(12.456); //error:Can't convert from
double to int.
}
}
Program not compiled . because Can't convert from double to int.
Is This Answer Correct ? | 2 Yes | 0 No |
Answer / umanath
Write a following program:
class OverloadDemo {
int test(int x) {
return x*x;
}
int test(long a) {
long l = a*a*a;
return l;
}
double test(double a) {
return a*a;
}
}
Compile that program:
C:\>javac OverloadDemo.java
OverloadDemo.java:9: possible loss of precision
found : long
required: int
return l;
Is This Answer Correct ? | 1 Yes | 1 No |
What are multiple inheritances? Is it supported by java?
How do you find the maximum number from an array without comparing and sorting?
What is the maximum size of list in java?
What is dynamic dispatch in java?
Hi all, I am dng a mini project on FileSplitter application which splits the GBs of logfile into Smaller chunks(mbs) depending on the split size." How to handle GBs file? I am getting OutOfMemoryException, when I input such GB sized file. Thx
Is singleton a bad practice?
What is a stream? what are the different types and classes of Streams?
What are the object and class classes used for?
What class allows you to read objects directly from a stream in java programming?
Why do we need singleton?
What is regex used for?
What does three dots mean in java?