Can someone explain this (preferably with an example)?
From JLS 15.12.2.2., to choose the most specific method:
http://java.sun.com/docs/books/jls/second_edition/html/expressions.doc.html#18428: If all the maximally specific methods have the same signature, then:
1. If one of the maximally specific methods is not declared abstract, it is the most specific method.
2. Otherwise, all the maximally specific methods are necessarily declared abstract. The most specific method is chosen arbitrarily among the maximally specific methods. However, the most specific method is considered to throw a checked exception if and only if that exception is declared in the throws clauses of each of the maximally specific methods
How can the method be chosen arbitarirly (the 2nd point) ? Shouldn't there be compile-time ambiguous error , if, there are more than one maximally specific method ?