В случае перегрузки функций на C++ мы знаем, что может возникнуть двусмысленность в терминах фактического и формального несоответствия параметров. Таким образом, существует механизм для решения этого.Неоднозначность в перегрузке функций в C++ Vs Java
For every actual parameter P, Si be the set of corresponding formal parameters that matches best. then S will be the intersection of all Si.
И для этого существует 4 типа правил.
- Четк.совп
- Promotion
- Стандартного Конверсия
- User Defined Конверсия
- Многоточие (не рассматривается все)
ли подобный процесс происходит для Java тоже? Поскольку правила перегрузки функций одинаковы в случае Java, эти типы неоднозначности могут иметь место и здесь.
См. [JLS-8.4.9. Overloading] (http://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.4.9), который включает в себя следующее: * при вызове метода (§15.12), количество фактических аргументов (и любых явных аргументов типа) и типы аргументов во время компиляции используются во время компиляции для определения сигнатуры метода, который будет вызываться (§15.12.2). Если метод, который должен быть вызван, является методом экземпляра, фактический метод, который будет вызываться, будет определен во время выполнения, используя динамический поиск метода (§15.12.4). * –