Java 中的多态、重载和重写

  • 多态

  • 多态允许父类引用指向子类对象,并在运行时决定调用哪个类的方法。它使代码更具灵活性和可扩展性。

  • 示例:一个 Animal 类有 makeSound() 方法,DogCat 继承自 Animal,并各自重写 makeSound()。通过 Animal 引用调用时,根据实际对象的类型决定调用的是 DogmakeSound() 还是 CatmakeSound()

  • 重载

  • 重载指同一类中多个方法有相同的名称,但参数列表不同(参数类型或数量)。它是编译时多态,通过方法签名的差异,编译器可以选择在何时调用哪个方法。

  • 示例:print(int a)print(String a) 是重载方法,根据传入参数类型不同调用相应的方法。

  • 重写

  • 重写是子类对继承自父类的方法进行修改,使其表现出不同的行为。它是运行时多态的一部分。重写的前提是方法名称、参数列表和返回类型必须一致,且不能降低方法的访问权限。

    示例:子类 Dog 重写父类 AnimalmakeSound() 方法,使 Dog 对象发出 “bark” 而不是父类的 “generic sound”。

强调关键点和要点

  • 多态性的重要性:强调多态性在设计可扩展代码中的重要性,比如你可以通过接口或父类定义多个不同的子类,而不需要在调用时改变现有代码。
  • 重载和重写的区别:说明重载是编译时决定的,而重写是运行时决定的。重载注重方法签名的不同,重写则是对继承来的方法进行修改。
  • 如何使用 @Override 注解:在重写方法时应使用 @Override 注解,以帮助编译器检查是否真正进行了重写,避免由于参数列表或方法签名错误而导致错误。

实际应用场景

通过实际应用场景展示你对这些概念的理解:

  • 多态:在编写面向接口编程时,例如 List 接口有多个实现类(ArrayList, LinkedList 等),可以通过多态使代码更加灵活。
  • 重载:可以用来为相同功能的方法提供不同的调用方式,例如处理不同类型的输入(intdoubleString等)。
  • 重写:用于实现不同子类的特定行为,例如 UI 框架中不同控件对 draw() 方法的不同实现。
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值