当前位置: 首页 > news >正文

Java的多态和重载

1. 重载(Overloading):同一作用域内的 “同名不同参”

重载指的是在同一个类(或同一个作用域)中,允许定义多个名称相同但参数列表不同的方法(或函数),调用时通过 “传入参数的类型、个数、顺序” 来区分具体执行哪个方法。

  1. 多态(Polymorphism):继承体系中的 “动态绑定”

多态指的是在继承(或接口实现)体系中,子类(或实现类)可以重写(Override)父类(或接口)的方法,使得 “父类引用指向子类对象时,调用方法会执行子类的具体实现”,而非父类的实现。

父类与子类的构造器调用规则(最易混淆)

核心规则:

  1. 子类构造器默认会先调用父类的无参构造器(隐式调用,通过 super() 实现)。
  2. 若父类没有无参构造器,子类必须显式调用父类的有参构造器(用 super(参数),且必须放在子类构造器第一行)。

反例(编译报错):

class Parent {// 父类只定义了有参构造器,无默认无参构造器public Parent(int age) {} 
}class Child extends Parent {public Child() {// 编译报错:父类没有无参构造器,子类必须显式调用 super(参数)}
}

正确示例:

class Parent {public Parent(int age) {} 
}class Child extends Parent {public Child() {super(10); // 显式调用父类有参构造器,必须在第一行}
}

混淆点提醒:

  • 不要以为 “子类构造器只负责自己的属性”,它必须先完成父类的初始化
  • 父类的 private 属性子类无法直接访问,但父类构造器仍会被调用(初始化父类的私有状态)。
多态的 “编译看左,运行看右”(核心易错点)

多态场景:父类类型 变量 = new 子类对象()

  • 编译时:变量能调用的方法由 “父类类型” 决定(父类没有的方法,编译报错)。
  • 运行时:实际执行的是 “子类重写后的方法”(若子类未重写,则执行父类方法)。

示例:

class Animal {public void eat() { System.out.println("动物吃饭"); }public void sleep() { System.out.println("动物睡觉"); }
}class Cat extends Animal {@Overridepublic void eat() { System.out.println("猫吃鱼"); } // 重写父类方法public void catchMouse() { System.out.println("猫抓老鼠"); } // 子类独有方法
}public class Test {public static void main(String[] args) {Animal animal = new Cat(); // 多态animal.eat(); // 运行时执行子类重写的方法 → 输出“猫吃鱼”animal.sleep(); // 子类未重写,执行父类方法 → 输出“动物睡觉”// animal.catchMouse(); // 编译报错:父类Animal没有该方法}
}

混淆点提醒:

  • 多态中,子类独有的方法无法通过父类变量调用(编译不通过)。
  • 变量的 “类型”(左边)决定了编译期的可见性,对象的 “实际类型”(右边)决定了运行期的执行逻辑。

方法重载(Overload)与重写(Override)的区别

维度 重载(Overload) 重写(Override)
定义场景 同一个类中 父子类中(子类重写父类方法)
方法名 必须相同 必须相同
参数列表 必须不同(个数 / 类型 / 顺序) 必须相同(与父类保持一致)
返回值类型 可以不同 必须与父类相同(或子类类型)
权限修饰符 无限制 子类权限 ≥ 父类(不能更严格)
核心目的 方便调用(同一功能的不同实现) 实现多态(子类定制父类行为)
http://www.jsqmd.com/news/33221/

相关文章:

  • 2025 年分离机源头厂家最新推荐排行榜:聚焦国内优质品牌,助力企业精准选型碟片式分离机/离心分离机/全自动分离机公司推荐
  • TXC-38.4
  • ICPC 模板
  • 维修厂家推荐排行榜单2025:权威评测
  • 市面上有实力的维修厂家排名:2025年最新榜单
  • 2025年度隔热膜、防爆膜、木纹膜、磨砂膜公司综合实力榜:技术创新与市场应用深度解析(安徽龙葵智能化建筑遮阳工程有限公司)
  • 国标GB28181算法算力平台EasyGBS助力智慧医院打造全方位视频监控联网服务体系
  • 2025年市面上冷再生机实力厂家推荐排行
  • Keil 生成 Bin 文件最正确的姿势
  • 2025年色谱仪品牌新推荐排行榜白皮书,赛智液相色谱仪怎么样
  • GESP202309 五级 巧夺大奖题解
  • 2025年肯德基门闭门器优质厂家权威推荐榜单:钢制肯德基门/仿铜肯德基门/肯德基门型材源头厂家精选
  • 2025年11月水泥板破碎机优质厂家推荐:江苏环硕建设
  • 纸笔散题记录
  • 2025年建筑装潢垃圾分选机制造厂权威推荐:装潢垃圾处理设备/固体垃圾处置系统/陈腐垃圾处理设备源头厂家精选
  • Windows 10 WSL Ubuntu 24 安装 Harbor
  • 决策的进化:从人类直觉到价值粒子的精密权衡
  • 数字先锋 | 职业教育大有可为!
  • feg
  • 2025 年 11 月竹制品防霉剂,防虫防霉剂,鞋子防霉剂厂家最新推荐,聚焦资质、案例、售后的五家机构深度解读!
  • 11:6
  • 减压风暴小程序:释放压力的休闲新选择,助力流量变现新机遇
  • 大河抽奖盲盒分销系统:开启运营 “玩法自由” 新时代
  • 新媒体代运营团队服务排行榜,有案例的新媒体代运营团队选哪家好
  • C++基本编程2——二变量交换问题
  • containerd搭建与配置
  • 静默复制淘口令小程序系统:淘客高效推广的全新解决方案
  • 获客电子画册小程序系统:助力企业高效营销与客户管理的智能解决方案
  • 2025年接箍喷砂机定做厂家权威推荐:外螺纹喷沙机/管端螺纹喷砂机/环保喷砂机设备源头厂家精选
  • 2025年11月权威媒体公布:防爆膜/木纹膜/磨砂膜/隔热膜行业十大公司排行榜推荐与全面选购指南