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++?
Advertisement
Answer
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?