Because you are not required to capture the return value of a method in Java, in which case the compiler can not decide which overload to use. E.g.
boolean doSomething() { ... }
int doSomething() { ... }
doSomething(); // which one to call???
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…