浅谈理解java方法调用

亦凉 2021-10-15 21:45 443阅读 0赞

1、方法调用流程图

​​​​​​​​在这里插入图片描述

2、步骤详解

  1. 当程序运行时,jvm会自动创建一个所有类的方法表,这里面包含了程序所运行的所有方法。方法表由方法签名和实际调用的方法组成。
  2. 当对象调用方法的时候,编译器首先找到对象(类)的类型和方法名,去方法表中筛选出来一部分方法。(注意:如果是在类方法中调用该类的方法,例如写成:print()的方法,这里用了隐式参数,this.print())。也就是说每一个方法调用实际上都含有一个对象或者类(static方法)。
  3. 接下来,编译器查看方法的参数类型,有的方法重载,例如f(int)和f(String),这时编译器会根据参数类型再次筛选出一部分方法。
  4. 接下来,编译器查看访问修饰符,例如:static、private、final、public、protected等。如果是static就可以直接调用方法。
  5. 如果是对象调用,判断是否是静态绑定,如果是静态绑定,便可以直接调用方法。如果是动态绑定,如果类中没有该方法,就去父类查找。

发表评论

表情:
评论列表 (有 0 条评论,443人围观)

还没有评论,来说两句吧...

相关阅读

    相关 java

    java与c语言 java是一门面向对象编程的强类型语言,一切东西都要抽象为对象,具有封装、继承、多态三个特性。这门语言常用于开发网站,与c语言不同,c语言是面向

    相关 java

         Java是面向对象的程序设计语言,同普通的面向对象一样,java也同样具有三大特征:封装,继承和多态。此处就不对其做过多赘述了。只提一点:Java不支持多重继承。