java-方法的重写以及方法重写和方法重载的区别

本文详细介绍了面向对象编程中方法重写的基本概念、特点及其应用场景。通过一个具体的案例演示了如何在子类中重写父类的方法,并解释了重写与重载的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法重写:
子类中出现了父类方法声明一样,也称为方法的覆盖,方法复写。

重写特点:
1-如果方法名不同,直接调用使用
2-如果方法名不同,始终调用子类方法。


方法重写的应用:
当子类既需要父类的功能,又需要有新的功能时,可以重写父类的方法,这样既沿袭了父类的方法,又定义了自己特有的方法。

案例:

父类Phone:

[java]  view plain  copy
  1. package day08;  
  2.   
  3.   
  4. public class Phone {  
  5.     public void call(){  
  6.         System.out.println("打电话!");  
  7.     }  
  8. }  

子类NewPhone类:

[java]  view plain  copy
  1. package day08;  
  2.   
  3.   
  4. public class NewPhone extends Phone {  
  5.     public void call(){  
  6.         super.call();//调用父类的call方法  
  7.         System.out.println("看地图!");//拓展的功能,展示了新手机继承父类的方法既可以打电话又拓展了自己的看地图功能  
  8.     }  
  9.     public static void main(String[] args) {  
  10.         //创建对象  
  11.         NewPhone np = new NewPhone();  
  12.         np.call();  
  13.   
  14.   
  15.     }  
  16.   
  17.   
  18. }  

输出:
打电话!
看地图!

方法重写注意事项:
1-父类中私有方法不能被重写!以为父类私有方法根本就无权限访问,所以就没重写之说。
2-子类重写父类方法不能以更低访问权限修饰。(最好声明一致)
3-父类静态方法,子类必须静态方法(严格上说这不是重写,是一种机制罢了)

方法重写和方法重载区别:
方法重载:
本类中出现的方法名一样,参数列表(参数类型和个数)不同,可以改变返回值类型,与返回值无关。

方法重写:
子类中出现了父类方法声明一样,也称为方法的覆盖,方法复写,返回值类型不能修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值