The correct one is chosen by matching the call the functions with the same name and same number of arguments. The returned type is ignored. Perfectly matching types select the best method. However Java permits approximate matches - a byte for example may cast to a short if better match is found. An interface describes how a class can be used without describing how the class carries out the work.
Several classes can have one interface.
An interface can be formed by mixing in several other interfaces. All methods in an interface are public, variables can by public, private, or static. A programmer programs in Java solely by creating new classes. New classes are created by extending existing classes. The default is to extend the class Object.