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 do you mean by buffering?
Why are inner classes required?
When should I use abstract classes and when should I use interfaces?
what is the use of clone method? why user cant overwrite in sub class without its proper defination.
What all access modifiers are allowed for top class ?
long d =10;int i =0;i=d; /// is this possible? If d is very long number (10 digits or some thing) then?
What is the difference between Stream Reader and Stream Writer?
what is the use of pojo (plain old java objects)? how it is interact with crystal reports? pls urgent
Can a constructor be private and how are this() and super() method used with constructor?
0 Answers Flextronics, Hexaware,
Explain the private protected method modifier?
what is meaning of JIT?
When do you get classcastexception?