answersLogoWhite

0


Best Answer

YES only if: The return type in the child class is a sub-type of the return type of the parent class.

Ex:

public int getName() {} - Parent class method

public String getName() {} - Child class method

If we implement the above two methods in the class hierarchy we will get compilation errors. whereas if we try the below implementation it will work:

public Object getName() {} - Parent class method

public String getName() {} - Child class method

This is because String is a sub-type of Object and hence it works.

This is also called as Covariant Overriding.

Note: This feature is available only from Java 1.5. Earlier versions of Java expect overriding methods to have exactly the same return type as the super class method.

User Avatar

Wiki User

14y ago
This answer is:
User Avatar
More answers
User Avatar

Wiki User

12y ago

compiler would not know the information of return type at compile time

but it finds only at runtime.

This answer is:
User Avatar

User Avatar

Wiki User

12y ago

No. Function overloading only pertains to the type of parameters.

This answer is:
User Avatar

User Avatar

Wiki User

12y ago

Yes, but overloaded functions cannot differ by return type alone. The function signature must also differ in some way.

This answer is:
User Avatar

User Avatar

Wiki User

12y ago

No

This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: Why return type is not considered while overloading a function?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Continue Learning about Engineering

What is function overloading in c language of computer?

There is no such thing as function overloading in C; that is a feature of C++. Function overloading allows us to provide two or more implementations of the same function. Typically, we use function overloading so that the same function can cater for different types. For instance, we might provide one implementation that is optimised to handle an integer argument while another is optimised to handle a real argument. We can also use function overloading to provide a common implementation of a function which can then be invoked by overloads that handle the low-level type conversions.


What should a function include?

A function must include an interface and an implementation. In some programming languages the two may be declared separately, particularly if the language is declarative. The interface typically consists of the function's return type followed by the function name and the type of its arguments, if any, usually enclosed in parenthesis (often round brackets). In untyped languages, the return type and the type of arguments may be optional, but the arguments must be formally named while the return value usually has the same name as the function. In typed languages the types must be specified but the names are optional unless the interface and implementation are combined. In typed languages that support function overloading, the function name and the number and type of the arguments form the function's unambiguous signature. The signature also includes the constness of the function and its arguments where supported, but does not include the return type nor any argument default values that may be provided. The function's implementation must duplicate the interface (if declared separately) but must also formally name the arguments. The function body is usually parenthesised (often in curly braces).


Is overloading done at compile time or run time?

Overloading will be done at compile time itself. Proof: If you try to narrow down the access modifier for a method from public in the parent class to private in the child class while overloading, the compiler will not let you do it.


Need of function overloading in c plus plus?

The need for function overloading is to allow the same function call to accept different parameter types and/or a different number of parameters. The function signature differentiates the functions. The return type is also part of the signature, and needn't be the same for every overload. Where the function signature is largely the same, with the same count of parameters but a different parameter type and return type, template functions can provide an alternative method of creating the function overloads. The compiler generates the necessary code for you, on an as-required basis, so you only need to write the function once, rather than once for each type.


What is need for function overloading in Java?

To overload a method in java, you only needs to write a method with the same name of other in your class but with diferente kind or number of parameters. For example: class MyClass{ void printNumber(int x){ System.out.println(x); } void printNumber(int x, int y){ System.out.println(x+y); } } the type of the value that your method return could change if you want.

Related questions

What is function overloading in c language of computer?

There is no such thing as function overloading in C; that is a feature of C++. Function overloading allows us to provide two or more implementations of the same function. Typically, we use function overloading so that the same function can cater for different types. For instance, we might provide one implementation that is optimised to handle an integer argument while another is optimised to handle a real argument. We can also use function overloading to provide a common implementation of a function which can then be invoked by overloads that handle the low-level type conversions.


Difference between subroutine and function?

Both A function and a Sub carry out a procedure, but only A function returns a result while a Sub does not return a result.


What should a function include?

A function must include an interface and an implementation. In some programming languages the two may be declared separately, particularly if the language is declarative. The interface typically consists of the function's return type followed by the function name and the type of its arguments, if any, usually enclosed in parenthesis (often round brackets). In untyped languages, the return type and the type of arguments may be optional, but the arguments must be formally named while the return value usually has the same name as the function. In typed languages the types must be specified but the names are optional unless the interface and implementation are combined. In typed languages that support function overloading, the function name and the number and type of the arguments form the function's unambiguous signature. The signature also includes the constness of the function and its arguments where supported, but does not include the return type nor any argument default values that may be provided. The function's implementation must duplicate the interface (if declared separately) but must also formally name the arguments. The function body is usually parenthesised (often in curly braces).


Is overloading done at compile time or run time?

Overloading will be done at compile time itself. Proof: If you try to narrow down the access modifier for a method from public in the parent class to private in the child class while overloading, the compiler will not let you do it.


Need of function overloading in c plus plus?

The need for function overloading is to allow the same function call to accept different parameter types and/or a different number of parameters. The function signature differentiates the functions. The return type is also part of the signature, and needn't be the same for every overload. Where the function signature is largely the same, with the same count of parameters but a different parameter type and return type, template functions can provide an alternative method of creating the function overloads. The compiler generates the necessary code for you, on an as-required basis, so you only need to write the function once, rather than once for each type.


What is need for function overloading in Java?

To overload a method in java, you only needs to write a method with the same name of other in your class but with diferente kind or number of parameters. For example: class MyClass{ void printNumber(int x){ System.out.println(x); } void printNumber(int x, int y){ System.out.println(x+y); } } the type of the value that your method return could change if you want.


How the predecrementer and postdecrementer are taken care of while declaring operator overloading?

When you overload the -- and ++ operators in C++, if you want the pre version, aka --var, simply declare the function without an argument; whereas if you want the post version, aka var--, simply declare the function with an argument of type int. class abc { public: abc& operator++(); // pre-increment form abc& operator++(int); // post-increment form ... }; abc::operator++() { ... pre increment stuff return *this; } abc::operator++(int) { ... post increment stuff return *this; }


Is fork is an process?

The fork() library function makes a copy of the calling process. The original copy continues with a return value of the process ID of the new process, while the new copy continues with a return value of zero. If there is an error, the original process continues with a return value of -1. So, the answer is that fork is a process creation function.


What are caller and callee in c plus plus?

Caller and callee relate to function calls. The caller is the code point that made the call to a function while the function is the callee. The callee returns control to the caller via the return address that was pushed onto the stack by the caller. void foo() {} int main() { foo(); } In the minimal example above, the main function is the caller while the foo function is the callee.


Distinguish between operator overloading and function overloading?

in C++ there is no real difference as operators are overloaded by implementing them as functions. However, while we differentiate between function overloads by the function signature (the number and type of parameters), operator overloads are distinguished only by the parameter types. The parameters are interpreted as operands, and the number of operands will depend upon whether the operator is unary, binary or ternary. That is, for any given operator, the number of operands will be the same for each overload you implement. The only exceptions are the unary increment (++) and decrement (--) operators as they each have postfix and prefix variants. In order to differentiate their signatures, an unreferenced or dummy parameter must be passed to the postfix variants.


Can I be on my granddaughter's tax return while on ss disability?

If you live in your Grand-Daughters home that she pays for and if she supplies more than half of your support. Under these circumstances, you would be considered as her dependent on her tax return.


How do you write a program that calculate factorial in javascript?

function factorial(n) { var x=1; while(n>1) x*=(n--); return x; }