なぜ値を返すことでリロード方法を区別できないのですか?


Javaでは、リロードが非常に重要な特性です.リロードを使うと、私たちは同じ言葉でいろいろな意味を表現するようなものです.メソッドのリロードのルールは簡単です.つまり、各リロードのメソッドには、ユニークなパラメータタイプのリストが必要です.ユニークなパラメータタイプとは、パラメータの個数が異なり、パラメータのタイプが異なり、パラメータの順序が異なります.では、戻り値でリロード方法を区別することは可能でしょうか.例えば、次の2つの方法は、同じ名前と形式を持っていますが、簡単に区別できます.
 
 void f(){}

 int f() {reurn 1;}

 
コンパイラが文脈に基づいて意味を明確に判断できる限り、例えばint x=f()では、確かにこれに基づいて重荷方法を分けることができる.ただし、メソッドの戻り値に関心がない場合があります.メソッド呼び出しの他の効果を望んでいる場合は、メソッドを呼び出して戻り値を無視する可能性があります.したがって、以下のようにメソッドを呼び出すと、f();このときJavaはどのf()を呼び出すべきかをどのように判断するのか.したがって,メソッドの戻り値に基づいてリロードメソッドを区別することはできない.