1.编译器查看对象的声明类型和方法名,假设调用x.f(param),隐式参数x声明为C类的对象。编译器将会把C类所有名为f的方法和其超类所有访问类型为public的且名为f的方法列举出来
2.接下来,编译器将查看调用方法时提供的参数类型,如果所有名为f的方法中存在一个于提供的参数类型完全匹配就选择这个方法,如果没有找到这个方法,或者经过类型转换后发现有多个方法与之匹配,就会报错
1.编译器查看对象的声明类型和方法名,假设调用x.f(param),隐式参数x声明为C类的对象。编译器将会把C类所有名为f的方法和其超类所有访问类型为public的且名为f的方法列举出来
2.接下来,编译器将查看调用方法时提供的参数类型,如果所有名为f的方法中存在一个于提供的参数类型完全匹配就选择这个方法,如果没有找到这个方法,或者经过类型转换后发现有多个方法与之匹配,就会报错