Overload with different return type in Java?

nunos picture nunos · Mar 13, 2010 · Viewed 91.6k times · Source

Why is it not possible to overload a function just by changing the return type? Will that change in a future version of Java?

By the way, just for reference, is this possible in C++?

Answer

Alexander Gessler picture Alexander Gessler · Mar 13, 2010

You can't do it in Java, and you can't do it in C++. The rationale is that the return value alone is not sufficient for the compiler to figure out which function to call:

public int foo() {...}
public float foo() {..}

...
foo(); // which one?