弄清楚如何在对象上应用方法调用非常重要。
大致可分成三个过程:
1、编译器查看对象的声名类型和方法名。
在调用方法时,可能会存在多个名字相同的方法,只是其参数类型不同。例如存在f(int) f(String)等。编译器会列举全部类中的相同名字的方法以及父类中可以访问到的相同名字的方法。
2、编译器查看调用方法时所提供的参数类型。
在找到相同名字的方法之后,编译器会在其中寻找与提供的参数的方法类型完全匹配的方法。若存在,就选择这个方法。这个过程被称之为重载解析;若么有找到与参数类型匹配的方法,或是找到多个与之相匹配的方法,就会报错。
3、静态绑定:如果发布的方法是private方法、state方法、final方法或者是构造器。那么编译器就可以准确知道应该方法。
4、当程序运行,并且采用动态绑定调用方法时。虚拟机一定调用与提供参数所引用对象的类型最为合适的方法。
方法调用
最新推荐文章于 2023-07-06 17:38:32 发布