同じクラス内で宣言され、名前とパラメーター数が同じメソッドを報告します。 このようなオーバーロードは、大きな混乱を招く可能性があります。どのオーバーロードが呼び出されるのかが不明確であるためです。

例:


  class Main {
    public static void execute(Runnable r) {}
    public static <T> void execute(RunnableFuture<T> c) {}
  }

明らかに互換性のないパラメーターの型を持つオーバーロードされたメソッドを無視するには、オプションを使用します。