java动态绑定机制

规则

  1. 调用对象方法时,该方法会和对象的运行类型绑定。
  2. 调用对象属性时,没有动态绑定机制,哪里声明哪里使用。

例子:

java 复制代码
class Base{
    public int a=10;
    public int getA(){return a;}
    public int getSum(){
        return 10+getA();//这里会调用Sub类中的getA()
    }
    public int getBaseA(){return a;}
}
class Sub extends Base{
    public int a =20;
    public int getA(){return a;}
}

public static void main(String[] args){
        Base b=new Sub();//多态
        System.out.println(b.getSum()); //规则1  输出30
        System.out.println(b.getBaseA());//规则2 输出10
    }

规则1:

最后的输出为 30。

因为动态绑定机制的原因,b.getSum()方法与b的运行类型(Sub)绑定,b.getSum()中调用的getA()实际为Sub类中的getA(),即10+20最终返回30。

规则2:

在调用b.getBaseA()时,因为变量没有动态绑定,所以直接找到了Base类中的a=10,所以输出为10。

相关推荐
golang学习记12 小时前
Spring Boot 4 升级实战:从3.x到4.0的分步升级保姆级指南
java·spring boot·后端
2501_9419820512 小时前
2026马年大吉:基于 Java 的企微外部群主动调用体系
java·开发语言·企业微信
独自破碎E12 小时前
题解 | 灵异背包?
android·java·开发语言
J_liaty12 小时前
Spring Boot 邮件发送完整指南:带附件、内嵌图片与中文乱码根治方案
java·spring boot·spring·email
sheji700912 小时前
Springboot家教平台中心系统53754--(程序+源码+数据库+调试部署+开发环境)
java·数据库·spring boot·后端·spring·旅游
QQ 313163789012 小时前
文华支撑压力画线主图指标公式源码
java
星火开发设计12 小时前
类模板:实现通用数据结构的基础
java·开发语言·数据结构·c++·html·知识
bugcome_com13 小时前
# C# 变量作用域详解
开发语言·c#
阿里嘎多学长13 小时前
2026-02-13 GitHub 热点项目精选
开发语言·程序员·github·代码托管
小宋102113 小时前
Java 数据库访问 vs Python 数据库访问:JDBC vs ORM
java·数据库·python